Conversion of standardized ReadMe file for
file /./ftp/cats/III/155 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. III/155 HDE: Types, Positions 10639 Stars (Roeser+ 1991) *================================================================================ *The Second Henry Draper Extension: Spectral Types and *Precise Positions for 10639 Stars * Roeser S., Bastian U., Wiese K. * <Astron. Astrophys. Suppl. Ser. 88, 277 (1991)> * =1991A&AS...88..277R *The Second Henry Draper Extension * Cannon A.J., Walton Mayall M. * <Harv. Ann., 112 (1949)> * =1949AnHar.112....1C C============================================================================= C Internal variables integer*4 i__ c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - C Declarations for 'data.dat' ! Catalog Data integer*4 nr__ parameter (nr__=10770) ! Number of records character*80 ar__ ! Full-size record C J2000.0 position composed of: RAh RAm RAs DE- DEd DEm DEs real*8 RAdeg ! (deg) Right Ascension J2000.0 real*8 DEdeg ! (deg) Declination J2000.0 C ---------------------------------- ! (position vector(s) in degrees) character*7 HDE ! HDE number character*1 Remark ! [R] a 'R' points to a remark in notes.dat real*4 Pmag ! (mag) ? Photographic magnitude (copied from AC) character*2 Sp ! Spectral type integer*4 RAh ! (h) Right ascension (Equinox J2000.0) integer*4 RAm ! (min) RA in minutes real*4 RAs ! (s) RA in seconds character*1 DE_ ! Sign of Declination (Equinox J2000.0) integer*4 DEd ! (deg) DEC in degrees integer*4 DEm ! (arcmin) DEC in arcminutes real*4 DEs ! (arcsec) DEC in arcseconds real*8 Epoch ! (yr) Epoch for the position real*8 pmRA ! (s/a) ? Proper motion in r.a. (if a PPM star) real*4 pmDE ! (arcsec/a) ? Proper motion in decl. (if a PPM star) integer*4 PPM ! ? PPM number (if a PPM star) c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - C Declarations for 'notes.dat' ! Notes integer*4 nr__1 parameter (nr__1=99) ! Number of records character*80 ar__1 ! Full-size record character*7 HDE_1 ! HDE number character*4 m_HDE ! Multiplicity integer*4 Cont ! ? Continuation number when several lines character*67 Text ! Remarks to individual stars C============================================================================= C Loading file 'data.dat' ! Catalog Data C Format for file interpretation 1 format( + 2X,A7,1X,A1,1X,F4.1,2X,A2,2X,I2,1X,I2,1X,F6.3,1X,A1,I2,1X,I2, + 1X,F5.2,1X,F7.2,3X,F7.4,1X,F6.3,2X,I6) C Effective file loading open(unit=1,status='old',file= +'data.dat') write(6,*) '....Loading file: data.dat' do i__=1,10770 read(1,'(A80)')ar__ read(ar__,1) + HDE,Remark,Pmag,Sp,RAh,RAm,RAs,DE_,DEd,DEm,DEs,Epoch,pmRA, + pmDE,PPM if(ar__(13:16) .EQ. '') Pmag = rNULL__ if(ar__(59:65) .EQ. '') pmRA = rNULL__ if(ar__(67:72) .EQ. '') pmDE = rNULL__ if(ar__(75:80) .EQ. '') PPM = 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) + HDE,Remark,Pmag,Sp,RAh,RAm,RAs,DE_,DEd,DEm,DEs,Epoch,pmRA, + pmDE,PPM write(6,'(6H Pos: 2F8.4)') RAdeg,DEdeg c .......End.of.Just test output........... end do close(1) C============================================================================= C Loading file 'notes.dat' ! Notes C Format for file interpretation 2 format(A7,A4,1X,I1,A67) C Effective file loading open(unit=1,status='old',file= +'notes.dat') write(6,*) '....Loading file: notes.dat' do i__=1,99 read(1,'(A80)')ar__1 read(ar__1,2)HDE_1,m_HDE,Cont,Text if(ar__1(13:13) .EQ. '') Cont = iNULL__ c ..............Just test output........... write(6,2)HDE_1,m_HDE,Cont,Text c .......End.of.Just test output........... end do close(1) C============================================================================= stop end