Conversion of standardized ReadMe file for
catalog 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.5, on 2013-May-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__
ter (rNULL__=-1.e37) ! NULL real number
parameter (iNULL__=-2147483647) ! NULL int number
C=============================================================================
Cat. III/59 Catalogue and Bibliography of Mn-Hg Stars (Schneider 1981)
*================================================================================
*A Catalogue and Bibliography of Mn-Hg Stars
* Schneider H.
* <CDS Bull. No. 20, p. 113 (1981)>
* =1981BICDS..20..113S
C=============================================================================
C Internal variables
integer*4 i__
c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
C Declarations for 'data.dat' ! Data file (Table 1)
integer*4 nr__
parameter (nr__=375) ! Number of records
character*108 ar__ ! Full-size record
real*8 RA_ ! (deg) Right Ascension 1950
real*8 Dec ! (deg) Declination 1950
integer*4 HD ! ?HD (Cat. <III/135>) number
integer*4 HR ! ?Bright Star (HR, Cat. <V/50>)) number
character*7 Name ! Common name
real*4 mv ! (mag) ?Visual magnitude from SAO catalog
character*3 Sp ! Spectral type from SAO catalog
character*3 dupl ! *Duplicity code
integer*4 RAh ! (h) *Right ascension (1950) - hour
integer*4 RAm ! (min) Right ascension (1950) - minutes
integer*4 RAs ! (s) ?Right ascension (1950) - seconds
character*1 DE_ ! Declination sign
integer*4 DEd ! (deg) Declination degrees (1950)
integer*4 DEm ! (arcmin) Decliantion minutes (1950)
integer*4 DEs ! (arcsec) ?Decliantion seconds (1950)
character*4 n_Sp ! [?] Suspected Mn-Hg star or misc. cl.
character*1 group ! [*] indicates member of group/cluster
* or misc. remark (see remarks.dat)
character*52 ref ! References - see refs.dat
*Note on RAh:
* The positions are taken from the SAO Catalog.
*Note on dupl:
* D = Double
* SB = Spectroscopic binary
* SB1 + 1-line system
* SB2 = 2-line system
* V = Visual binary. The following number indicates the number of
* components, the following letter, the component which is the Ap
* star (E.g. V3B)
c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
C Declarations for 'remarks.dat' ! Remarks for data in table 1
integer*4 nr__1
parameter (nr__1=66) ! Number of records
character*70 ar__1 ! Full-size record
integer*4 HD_1 ! HD designation, as in data.dat
character*63 Text ! Text of remark
c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
C Declarations for 'refs.dat' ! *Bibliography (Table 4)
integer*4 nr__2
parameter (nr__2=1224) ! Number of records
character*80 ar__2 ! Full-size record
integer*4 ID ! *?Reference number
character*76 Text_1 ! *Reference
*Note on ID:
* ID is repeated when the reference requires more than one line.
*Note on Text:
* Books are indicated by ' ' in this file, remarks.txt, and abrev.txt.
* See file "abrev.txt" for abbreviations of magazines.
C=============================================================================
C Loading file 'data.dat' ! Data file (Table 1)
C Format for file interpretation
1 format(
+ I6,1X,I4,1X,A7,1X,F3.1,1X,A3,1X,A3,1X,I2,1X,I2,1X,I2,1X,A1,I2,
+ 1X,I2,1X,I2,A4,A1,1X,A52)
C Effective file loading
open(unit=1,file='data.dat', status='old')
write(6,*) '....Loading file: data.dat'
do i__=1,375
read(1,'(A108)')ar__
read(ar__,1)
+ HD,HR,Name,mv,Sp,dupl,RAh,RAm,RAs,DE_,DEd,DEm,DEs,n_Sp,group,
+ ref
if(ar__(1:6) .EQ. '') HD = iNULL__
if(ar__(8:11) .EQ. '') HR = iNULL__
if(ar__(21:23) .EQ. '') mv = rNULL__
if(ar__(39:40) .EQ. '') RAs = iNULL__
if(ar__(49:50) .EQ. '') DEs = iNULL__
c Derive coordinates RA_ and Dec from input data
c (RA_ and Dec are set to rNULL_ when unknown)
RA_ = RAh
if(RAh .GE. 0) RA_=RAh*15.
if(RAm .GE. 0) RA_=RA_+RAm/4.
if(RAs .GE. 0) RA_=RA_+RAs/240.
Dec = DEd
if(DEm .GE. 0) Dec=Dec+DEm/60.
if(DEs .GE. 0) Dec=Dec+DEs/3600.
if(DE_.EQ.'-'.AND.Dec.GE.0) Dec=-Dec
c ..............Just test output...........
write(6,1)
+ HD,HR,Name,mv,Sp,dupl,RAh,RAm,RAs,DE_,DEd,DEm,DEs,n_Sp,group,
+ ref
write(6,'(6H Pos: 2F8.4)') RA_,Dec
c .......End.of.Just test output...........
end do
close(1)
C=============================================================================
C Loading file 'remarks.dat' ! Remarks for data in table 1
C Format for file interpretation
2 format(I6,1X,A63)
C Effective file loading
open(unit=1,file='remarks.dat', status='old')
write(6,*) '....Loading file: remarks.dat'
do i__=1,66
read(1,'(A70)')ar__1
read(ar__1,2)HD_1,Text
c ..............Just test output...........
write(6,2)HD_1,Text
c .......End.of.Just test output...........
end do
close(1)
C=============================================================================
C Loading file 'refs.dat' ! *Bibliography (Table 4)
C Format for file interpretation
3 format(I3,1X,A76)
C Effective file loading
open(unit=1,file='refs.dat', status='old')
write(6,*) '....Loading file: refs.dat'
do i__=1,1224
read(1,'(A80)')ar__2
read(ar__2,3)ID,Text_1
if(ar__2(1:3) .EQ. '') ID = iNULL__
c ..............Just test output...........
write(6,3)ID,Text_1
c .......End.of.Just test output...........
end do
close(1)
C=============================================================================
stop
end