Conversion of standardized ReadMe file for
file /./ftp/cats/V/105/ 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 2024-Apr-18 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. V/105 SKY2000 Catalog, Version 3 (Myers+ 2000) *================================================================================ *SKY2000 Master Catalog, Version 3 (Rev. 1) * Myers J.R., Sande C.B., Miller A.C., Warren Jr. W.H., Tracewell D.A. * <Goddard Space Flight Center, Flight Dynamics Division (2000)> C============================================================================= C Internal variables integer*4 i__ c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - C Declarations for 'sky2v3r1.dat' ! The SkyMap 2000 Version 3 Catalog Rev. 1 integer*4 nr__ parameter (nr__=299161) ! Number of records character*520 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 SKY2000 ! *Identifier based on J2000 position integer*4 ID ! Skymap number integer*4 HD ! ?Henry Draper <III/135> number character*1 m_HD ! *[1239]? HD duplicity indication character*1 u_HD ! HD identification uncertain integer*4 SAO ! ? SAO <I/131> number character*1 m_SAO ! SAO component character*11 DM ! Durchmusterung (BD <I/122>; SD <I/119>; * CD <I/114>; CP <I/108>) character*1 m_DM ! Durchmusterung supplement letter character*1 u_DM ! [: ] DM identification uncertain integer*4 HR ! ?Harvard Revised <V/50> num. (=BS) character*10 WDS ! Washington Double Stars <I/237> number character*5 m_WDS ! WDS components character*1 u_WDS ! [: ] WDS identification uncertain integer*4 PPM ! ?Position and Proper Motion number * (<I/146>, <I/193>, <I/208>) character*1 u_PPM ! [: ] PPM identification uncertain integer*4 ID_merg ! ?Skymap num. of last skymap entry merged * with this star character*10 Name ! Star name (or AGK3 number) character*10 Vname ! Variable star name (or * doubtful variability) integer*4 RAh ! (h) Right ascension (J2000) hours integer*4 RAm ! (min) Right ascension (J2000) minutes real*8 RAs ! (s) Right ascension (J2000) seconds character*1 DE_ ! Declination sign integer*4 DEd ! (deg) Declination degrees (J2000) integer*4 DEm ! (arcmin) Declination minutes (J2000) real*4 DEs ! (arcsec) Declination seconds (J2000) real*4 e_pos ! (arcsec) Position uncertainty character*1 f_pos ! [b] Blended position flag integer*4 r_pos ! Source of position real*8 pmRA ! (s/a) Proper motion in RA (J2000) real*8 pmDE ! (arcsec/a) Proper motion in Dec (J2000) integer*4 r_pm ! ?Source of proper motion data real*4 RV ! (km/s) ?Radial velocity integer*4 r_RV ! ?Source of radial velocity data real*8 Plx ! (arcsec) ?Trigonometric parallax real*8 e_Plx ! (arcsec) ?Trigonometric parallax uncertainty integer*4 r_Plx ! ?Source of trigonometric parallax data real*8 GCI_X ! *GCI unit vector in X (J2000) real*8 GCI_Y ! *GCI unit vector in Y (J2000) real*8 GCI_Z ! *GCI unit vector in Z (J2000) real*4 GLON ! (deg) Galactic longitude (B1950) real*4 GLAT ! (deg) Galactic latitude (B1950) real*4 Vmag ! (mag) ?Observed visual magnitude (V or v) real*4 Vder ! (mag) ?Derived visual magnitude real*4 e_Vmag ! (mag) ?Derived v or observed visual magnitude * uncertainty character*1 f_Vmag ! [b] Blended visual magnitude flag integer*4 r_Vmag ! ?Source of visual magnitude integer*4 n_Vmag ! ?V magnitude derivation flag real*4 Bmag ! (mag) ?B-magnitude (observed) real*4 B_V ! (mag) ?B-V color (observed) real*4 e_Bmag ! (mag) ?B or (B-V) magnitude uncertainty character*1 f_Bmag ! [b] Blended b-magnitude flag integer*4 r_Bmag ! ?Source of b-magnitude real*4 Umag ! (mag) ?U-magnitude (observed) real*4 U_B ! (mag) ?U-B color (observed) real*4 e_Umag ! (mag) ?U or (U-B) magnitude uncertainty character*1 n_Umag ! Blended u-magnitude flag integer*4 r_Umag ! ?Source of u-magnitude real*4 Ptv ! (mag) ?Photovisual magnitude (observed) integer*4 r_Ptv ! ?Source of ptv magnitudes real*4 Ptg ! (mag) ?Photographic magnitude (observed) integer*4 r_Ptg ! ?Source of ptg magnitudes character*30 SpMK ! Morgan-Keenan (MK) spectral type integer*4 r_SpMK ! ?Source of MK spectral type data character*3 Sp ! *One-dimensional spectral class integer*4 r_Sp ! ?Source of one-dimen. spectral class real*8 sep ! (arcsec) ?Separation of brightest and second * brightest components real*4 Dmag ! (mag) ?Magnitude difference of the brightest * and second brightest components real*8 orbPer ! (yr) *?Orbital period integer*4 PA ! (deg) ?Position angle real*8 date ! (yr) ?Year of observation (AD) integer*4 r_dup ! ?Source of multiplicity data character*1 n_Dmag ! Passband of multiple star mag. dif. real*8 dist1 ! (deg) ?Distance to nearest neighboring star in * the master catalog real*8 dist2 ! (deg) ?Dist. to nearest neighboring master * cat. star no more than 2 mag. fainter integer*4 ID_A ! ?Skymap number of primary component integer*4 ID_B ! ?Skymap number of second component integer*4 ID_C ! ?Skymap number of third component real*4 magMax ! (mag) *?Maximum variable magnitude real*4 magMin ! (mag) *?Minimum variable magnitude real*4 varAmp ! (mag) ?Variability amplitude character*1 n_varAmp ! Passband of variability amplitude real*8 varPer ! (d) ?Period of variability real*8 varEp ! (d) ?Epoch of variability (JD-2400000) integer*4 varTyp ! ?Type of variable star integer*4 r_var ! ?Source of variability data real*4 mag1 ! (mag) ?Passband #1-magnitude (observed) real*4 v_mag1 ! (mag) ?v - passband #1 color real*4 e_mag1 ! (mag) ?Passband #1 uncertainty in mag. or col. character*1 n_mag1 ! *[RJC] Passband #1 photometric system character*1 p_mag1 ! *[R] Passband #1 integer*4 r_mag1 ! ?Source of passband #1: mag. or color real*4 mag2 ! (mag) ?Passband #2-magnitude (observed) real*4 v_mag2 ! (mag) ?v - passband #2 color real*4 e_mag2 ! (mag) ?Passband #2 uncertainty in mag. or col. character*1 n_mag2 ! *[JEC] Passband #2 photometric system character*1 p_mag2 ! *[I] Passband #2 integer*4 r_mag2 ! ?Source of passband #2: mag. or color real*4 ci1_2 ! (mag) ?Passband #1 - passband #2 color character*1 f_mag1 ! [b] Blended passband #1 mag/color flag character*1 f_mag2 ! [b] Blended passband #2 mag/color flag real*4 mag3 ! (mag) *?Passband #3-magnitude (observed) real*4 v_mag3 ! (mag) *?v - passband #3 color real*4 e_mag3 ! (mag) *?Passband #3 uncertainty in mag. or col. character*1 n_mag3 ! *Passband #3 photometric system character*1 p_mag3 ! *[X] Passband #3 integer*4 r_mag3 ! *?Source of passband #3: mag. or color character*1 f_mag3 ! *[b] Blended passband #3 mag/color flag *Note on SKY2000: * Field added to SKY2000 Version 1 for SKY2000 Version 2. * Note that there are 91 stars for which the SKY2000 name (based on the * J2000 position) differs from their actual position, due to corrections * performed on some positions; the SKY2000 names were intentionally kept * identical to the original SKY2000 version. The list of these 91 stars * can be found in the "List of stars with differences" section below. *Note on m_HD: * 1. indicates this the brighter component of a system with a companion * >= 0.3 mag. * 2. indicates this is the fainter component of a system with a companion * <= 0.3 mag. * 3. for a third component * 9 indicates that this is a blend of two HD stars. The HD number is the * lower of the two. *Note on GCI_X: * cos(Dec)*cos(RA) *Note on GCI_Y: * cos(Dec)*sin(RA) *Note on GCI_Z: * sin(Dec) *Note on Sp: * i.e. HD, AGK3, or SAO *Note on orbPer, magMax and magMin: * Data for these fields have not been added to the SKY2000 Master Star * Catalog. *Note on n_mag1: * Photometry is on the RI system. This byte indicates whether it is * Johnson or Russian) *Note on p_mag1: * Filter used (currently, only R) *Note on n_mag2: * Photometry is on the Johnson, Eggen, or Cousins system. This byte * indicates which. *Note on p_mag2: * Filter used (currently, only I) *Note on mag3, v-mag3, e_mag3, n_mag3, p_mag3, r_mag3 and f_mag3: * Fields added to SKY2000 Version 1 for SKY2000 Version 2. * The column p_mag3 contains X, which refers to the star trackers * aboard the RXTE satellite. The response curve of these trackers * covers the 0.4 to 1.1um range, with its peak sensitivity covering * the R and I bands (.65 to .9um) c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - C Declarations for 'refs.dat' ! Reference table integer*4 nr__1 parameter (nr__1=190) ! Number of records character*80 ar__1 ! Full-size record integer*4 RefNo ! [1/99]+= Reference number character*4 n_RefNo ! *Note on the addition of the reference character*73 Text ! *Text of reference *Note on n_RefNo: * (98) = via SKYMAP Master Star Catalog, Version 3.7 (Cat. <V/77>) * .0 = new sources for Version 4.0 * .0a = new sources for Version 4.0a * +2 = new sources for SKY2000 Version 2 * All other sources added for Versions 4.1 and 4.2 *Note on Text: * The first line contains generally the title, followed by an asterisk (*) * when item referenced in the paper, and the number(s) assigned to the * catalog in the CDS / ADC Archives within < > * The following lines provide the full reference. *-------------------------------------------------------------------------------- * *Acknowledgements; * It is a pleasure to thank Chris Sande and Wayne H. Warren Jr * for giving a copy of their files. C============================================================================= C Loading file 'sky2v3r1.dat' ! The SkyMap 2000 Version 3 Catalog Rev. 1 C Format for file interpretation 1 format( + 8X,A19,I8,I6,A1,A1,I6,A1,A11,A1,A1,I4,A10,A5,A1,I6,A1,I8,A10, + A10,I2,I2,F7.4,A1,I2,I2,F6.3,F6.4,A1,I2,F8.5,F8.4,I2,F6.1,I2, + F8.5,F8.6,I2,F9.6,F9.6,F9.6,F6.2,F6.2,F6.3,F5.2,F5.3,A1,I2,I1, + F6.3,F6.3,F5.3,A1,I2,F6.3,F6.3,F5.3,A1,I2,F4.1,I2,F4.1,I2,A30, + I2,A3,I2,F7.3,F5.2,F7.2,I3,F7.2,I2,A1,F7.4,F7.4,I8,I8,I8,F5.2, + F5.2,F5.2,A1,F8.2,F8.2,I3,I2,F6.3,F6.3,F5.3,A1,A1,I2,F6.3, + F6.3,F5.3,A1,A1,I2,F6.3,A1,A1,F6.3,F6.3,F5.3,A1,A1,I2,A1) C Effective file loading open(unit=1,status='old',file= +'sky2v3r1.dat') write(6,*) '....Loading file: sky2v3r1.dat' do i__=1,299161 read(1,'(A520)')ar__ read(ar__,1) + SKY2000,ID,HD,m_HD,u_HD,SAO,m_SAO,DM,m_DM,u_DM,HR,WDS,m_WDS, + u_WDS,PPM,u_PPM,ID_merg,Name,Vname,RAh,RAm,RAs,DE_,DEd,DEm, + DEs,e_pos,f_pos,r_pos,pmRA,pmDE,r_pm,RV,r_RV,Plx,e_Plx,r_Plx, + GCI_X,GCI_Y,GCI_Z,GLON,GLAT,Vmag,Vder,e_Vmag,f_Vmag,r_Vmag, + n_Vmag,Bmag,B_V,e_Bmag,f_Bmag,r_Bmag,Umag,U_B,e_Umag,n_Umag, + r_Umag,Ptv,r_Ptv,Ptg,r_Ptg,SpMK,r_SpMK,Sp,r_Sp,sep,Dmag, + orbPer,PA,date,r_dup,n_Dmag,dist1,dist2,ID_A,ID_B,ID_C,magMax, + magMin,varAmp,n_varAmp,varPer,varEp,varTyp,r_var,mag1,v_mag1, + e_mag1,n_mag1,p_mag1,r_mag1,mag2,v_mag2,e_mag2,n_mag2,p_mag2, + r_mag2,ci1_2,f_mag1,f_mag2,mag3,v_mag3,e_mag3,n_mag3,p_mag3, + r_mag3,f_mag3 if(ar__(36:41) .EQ. '') HD = iNULL__ if(ar__(44:49) .EQ. '') SAO = iNULL__ if(ar__(64:67) .EQ. '') HR = iNULL__ if(ar__(84:89) .EQ. '') PPM = iNULL__ if(ar__(91:98) .EQ. '') ID_merg = iNULL__ if(ar__(166:167) .EQ. '') r_pm = iNULL__ if(ar__(168:173) .EQ. '') RV = rNULL__ if(ar__(174:175) .EQ. '') r_RV = iNULL__ if(ar__(176:183) .EQ. '') Plx = rNULL__ if(ar__(184:191) .EQ. '') e_Plx = rNULL__ if(ar__(192:193) .EQ. '') r_Plx = iNULL__ if(ar__(233:238) .EQ. '') Vmag = rNULL__ if(ar__(239:243) .EQ. '') Vder = rNULL__ if(ar__(244:248) .EQ. '') e_Vmag = rNULL__ if(ar__(250:251) .EQ. '') r_Vmag = iNULL__ if(ar__(252:252) .EQ. '') n_Vmag = iNULL__ if(ar__(253:258) .EQ. '') Bmag = rNULL__ if(ar__(259:264) .EQ. '') B_V = rNULL__ if(ar__(265:269) .EQ. '') e_Bmag = rNULL__ if(ar__(271:272) .EQ. '') r_Bmag = iNULL__ if(ar__(273:278) .EQ. '') Umag = rNULL__ if(ar__(279:284) .EQ. '') U_B = rNULL__ if(ar__(285:289) .EQ. '') e_Umag = rNULL__ if(ar__(291:292) .EQ. '') r_Umag = iNULL__ if(ar__(293:296) .EQ. '') Ptv = rNULL__ if(ar__(297:298) .EQ. '') r_Ptv = iNULL__ if(ar__(299:302) .EQ. '') Ptg = rNULL__ if(ar__(303:304) .EQ. '') r_Ptg = iNULL__ if(ar__(335:336) .EQ. '') r_SpMK = iNULL__ if(ar__(340:341) .EQ. '') r_Sp = iNULL__ if(ar__(342:348) .EQ. '') sep = rNULL__ if(ar__(349:353) .EQ. '') Dmag = rNULL__ if(ar__(354:360) .EQ. '') orbPer = rNULL__ if(ar__(361:363) .EQ. '') PA = iNULL__ if(ar__(364:370) .EQ. '') date = rNULL__ if(ar__(371:372) .EQ. '') r_dup = iNULL__ if(ar__(374:380) .EQ. '') dist1 = rNULL__ if(ar__(381:387) .EQ. '') dist2 = rNULL__ if(ar__(388:395) .EQ. '') ID_A = iNULL__ if(ar__(396:403) .EQ. '') ID_B = iNULL__ if(ar__(404:411) .EQ. '') ID_C = iNULL__ if(ar__(412:416) .EQ. '') magMax = rNULL__ if(ar__(417:421) .EQ. '') magMin = rNULL__ if(ar__(422:426) .EQ. '') varAmp = rNULL__ if(ar__(428:435) .EQ. '') varPer = rNULL__ if(ar__(436:443) .EQ. '') varEp = rNULL__ if(ar__(444:446) .EQ. '') varTyp = iNULL__ if(ar__(447:448) .EQ. '') r_var = iNULL__ if(ar__(449:454) .EQ. '') mag1 = rNULL__ if(ar__(455:460) .EQ. '') v_mag1 = rNULL__ if(ar__(461:465) .EQ. '') e_mag1 = rNULL__ if(ar__(468:469) .EQ. '') r_mag1 = iNULL__ if(ar__(470:475) .EQ. '') mag2 = rNULL__ if(ar__(476:481) .EQ. '') v_mag2 = rNULL__ if(ar__(482:486) .EQ. '') e_mag2 = rNULL__ if(ar__(489:490) .EQ. '') r_mag2 = iNULL__ if(ar__(491:496) .EQ. '') ci1_2 = rNULL__ if(ar__(499:504) .EQ. '') mag3 = rNULL__ if(ar__(505:510) .EQ. '') v_mag3 = rNULL__ if(ar__(511:515) .EQ. '') e_mag3 = rNULL__ if(ar__(518:519) .EQ. '') r_mag3 = iNULL__ 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) + SKY2000,ID,HD,m_HD,u_HD,SAO,m_SAO,DM,m_DM,u_DM,HR,WDS,m_WDS, + u_WDS,PPM,u_PPM,ID_merg,Name,Vname,RAh,RAm,RAs,DE_,DEd,DEm, + DEs,e_pos,f_pos,r_pos,pmRA,pmDE,r_pm,RV,r_RV,Plx,e_Plx,r_Plx, + GCI_X,GCI_Y,GCI_Z,GLON,GLAT,Vmag,Vder,e_Vmag,f_Vmag,r_Vmag, + n_Vmag,Bmag,B_V,e_Bmag,f_Bmag,r_Bmag,Umag,U_B,e_Umag,n_Umag, + r_Umag,Ptv,r_Ptv,Ptg,r_Ptg,SpMK,r_SpMK,Sp,r_Sp,sep,Dmag, + orbPer,PA,date,r_dup,n_Dmag,dist1,dist2,ID_A,ID_B,ID_C,magMax, + magMin,varAmp,n_varAmp,varPer,varEp,varTyp,r_var,mag1,v_mag1, + e_mag1,n_mag1,p_mag1,r_mag1,mag2,v_mag2,e_mag2,n_mag2,p_mag2, + r_mag2,ci1_2,f_mag1,f_mag2,mag3,v_mag3,e_mag3,n_mag3,p_mag3, + r_mag3,f_mag3 write(6,'(6H Pos: 2F8.4)') RAdeg,DEdeg c .......End.of.Just test output........... end do close(1) C============================================================================= C Loading file 'refs.dat' ! Reference table C Format for file interpretation 2 format(1X,I2,A4,A73) C Effective file loading open(unit=1,status='old',file= +'refs.dat') write(6,*) '....Loading file: refs.dat' do i__=1,190 read(1,'(A80)')ar__1 read(ar__1,2)RefNo,n_RefNo,Text c ..............Just test output........... write(6,2)RefNo,n_RefNo,Text c .......End.of.Just test output........... end do close(1) C============================================================================= stop end