Conversion of standardized ReadMe file for
file /./ftp/cats/IV/22 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-Mar-29 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. IV/22 FK5 - SAO - HD - Common Name Cross Index (Smith 1996) *================================================================================ *FK5 - SAO - HD - Common Name Cross Index * Smith W.B. * <Unpublished (1996)> C============================================================================= C Internal variables integer*4 i__ c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - C Declarations for 'index.dat' ! The catalog integer*4 nr__ parameter (nr__=1535) ! Number of records character*123 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) integer*4 FK5 ! The FK5 number (Cat. I/149, I/175) (2) integer*4 RAh ! (h) Right Ascension hours (J2000) integer*4 RAm ! (min) Right Ascension minutes (J2000) real*4 RAs ! (s) Right Ascension seconds (J2000) real*8 pmRA ! (10ms/yr) Proper motion in right ascension 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*8 pmDE ! (10mas/yr) Proper motion in declination real*4 EpRA_1900 ! (yr) Epoch for right ascension -1900 real*4 EpDE_1900 ! (yr) Epoch for declination -1900 real*4 Vmag ! (mag) Visual magnitude character*2 Sp ! Spectral type character*10 DM ! Durchmusterung Identification (1) integer*4 SAO ! ? SAO number (Cat. I/131) integer*4 HD ! ? HD number (Cat. III/135) character*9 BFno ! Bayer or Flamsteed number character*20 name ! Common name or variable name *Note (1): this identification groups the Bonner Durchmusterung * (BD, Cat. I/122), the Sudlicher Durchmusterung (SD, Cat. I/119); * the Cordoba Durchmusterung (CD, Cat. I/114); and the * Cape Photographic Durchmusterung (CP, Cat. I/108). * The Durchmusterung is coded in bytes 69-70, the zone in bytes * 71-73, the number in the zone in bytes 74-78 *Note (2): * The author has tabulated the following FK5 numbers NOT present: * 8 213 333 476 630 747 872 1633 * 38 228 349 477 637 750 874 1634 * 96 236 359 480 640 766 887 1651 * 117 253 369 543 693 771 926 1652 * 132 265 400 575 694 784 to 1653 * 145 298 408 581 715 798 1000 1654 * 160 329 430 615 721 799 1631 * 200 330 448 617 742 816 1632 C============================================================================= C Loading file 'index.dat' ! The catalog C Format for file interpretation 1 format( + I4,2X,I2,1X,I2,1X,F6.3,1X,F7.3,1X,A1,I2,1X,I2,1X,F5.2,1X,F7.2, + 1X,F5.2,1X,F5.2,F5.2,1X,A2,1X,A10,1X,I6,1X,I6,1X,A9,1X,A20) C Effective file loading open(unit=1,status='old',file= +'index.dat') write(6,*) '....Loading file: index.dat' do i__=1,1535 read(1,'(A123)')ar__ read(ar__,1) + FK5,RAh,RAm,RAs,pmRA,DE_,DEd,DEm,DEs,pmDE,EpRA_1900,EpDE_1900, + Vmag,Sp,DM,SAO,HD,BFno,name if(ar__(80:85) .EQ. '') SAO = iNULL__ if(ar__(87:92) .EQ. '') HD = 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) + FK5,RAh,RAm,RAs,pmRA,DE_,DEd,DEm,DEs,pmDE,EpRA_1900,EpDE_1900, + Vmag,Sp,DM,SAO,HD,BFno,name write(6,'(6H Pos: 2F8.4)') RAdeg,DEdeg c .......End.of.Just test output........... end do close(1) C============================================================================= stop end