Conversion of standardized ReadMe file for
file /./ftp/cats/VI/44 into FORTRAN code for loading all data files into arrays.
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-19 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. VI/44 Finding List of Interacting Binaries, 5th ed. (Wood+ 1980) *================================================================================ *A Finding List for Observers of Interacting Binary Systems, 5th Edition * Wood F.B., Oliver J.P., Florkowski D.R., Koch R.H. * <Publ. Dept. of Astron., Univ. of Florida, Vol. I (1980)> C============================================================================= C Internal variables integer*4 i__ c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - C Declarations for 'catalog.dat' ! The Finding List of Interacting Binaires integer*4 nr__ parameter (nr__=3564) ! Number of records character*178 ar__ ! Full-size record C 1900 position composed of: RAh RAm DEdeg real*8 RAdeg (nr__) ! (deg) Right Ascension 1900 real*8 DEdeg (nr__) ! (deg) Declination 1900 C ---------------------------------- ! (position vector(s) in degrees) integer*4 Seq (nr__) ! [1/3564]+ Finding List Number. character*8 Name (nr__) ! Name of star integer*4 RAh (nr__) ! (h) ? Right Ascension 1900 (hours) integer*4 RAm (nr__) ! (min) ? Right Ascension 1900 (minutes) integer*4 DEdeg_1 (nr__) ! (deg) ? Declination 1900 (degrees) real*4 Bmax (nr__) ! (mag) ?=99.0 Blue (or other, see n_Bmax) * magnitude at maximum light. character*1 n_Bmax (nr__) ! [NIUV:] Bandpass or note for Bmax (1) real*4 Depth1 (nr__) ! (mag) ? Depth of primary minimum light. character*1 n_Depth1 (nr__) ! [NIUV:] Bandpass or note for Depth1 (1) real*4 Depth2 (nr__) ! (mag) ? Depth of secondary minimum character*1 n_Depth2 (nr__) ! [NIUV:] Bandpass or note for Depth2 (1) character*10 Sp1 (nr__) ! Spectral class of primary. (2) character*1 n_Sp1 (nr__) ! [N] N=note about spectral class. character*10 Sp2 (nr__) ! Spectral class of secondary. (2) character*1 n_Sp2 (nr__) ! [N] N=note about spectral class. real*8 Ep1 (nr__) ! (d) ? Most recent epoch of primary minimum (JD) character*1 n_Ep1 (nr__) ! [N:] N=note about epoch. :=epoch uncertainty. real*8 Period (nr__) ! ? Most recent Orbital period, in days or * years (see n_Period). character*1 x_Period (nr__) ! [NY:] Y=Period expressed in year (3) integer*4 min1Dur (nr__) ! ?=-999 Duration of primary minimum, * in hours, days or years (see n_min1Dur) character*1 x_min1Dur (nr__) ! [DYN:?] Unit of duration, D=days, Y=years. * See also note (2) integer*4 totDur (nr__) ! ?=-999 Duration of totality. * in hours, days or years (see n_totDur) character*1 x_totDur (nr__) ! [DYN:?] Unit of totality, D=days, Y=years. * See also note (2) character*10 BD (nr__) ! Bonner Durchmusterung (BD) number. character*10 CD (nr__) ! Cordoba Durchmusterung (CD) number. character*10 CPD (nr__) ! Cape Photographic Durchmusterung (CPD) number. character*6 HD (nr__) ! The Henry Draper Catalog (HD) number. character*32 Names (nr__) ! Alternate designations *Note (1): this field indicates the bandpass if not B * (V=visible, I=infrared, U=ultraviolet), * a colon (:) for bandpass uncertainty, * or a N for a note (file "remarks") *Note (2): the colon (:) means "uncertain", and * the question mark (?) means "very uncertain" *Note (3): 'N' indicates a note, and * the colon (:) means "uncertain" *Note (4): the following 1-letter codes are used: * A variable period * B variable period? * C light elements uncertain * D eccentric orbit * E faint companion * F third light * G times of minimum recorded by group such as AAVSO, BBSAG, etc. * H variable comparison star? * J atmospheric eclipses * K asymmetric light curve * L variable light curve * M light curve poorly known * N asymmetric minima * P photometric analysis available * Q hydrogen emission seen * R Ca II emission seen * S radial velocity curve available * T variable radial velocity curve * U double-lined spectroscopic binary * V absolute dimension known * W UV excess * X IR excess * Y polarization observed * Z variable polarization * 1 X-ray source * 2 radio source * 3 visual binary * 4 cluster member * 5 intrinsic variable * 6 ellipsoidal variable * 7 not eclipsing binary? * 8 apsidal motion c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - C Declarations for 'remarks.dat' ! Remarks for designated systems. integer*4 nr__1 parameter (nr__1=5488) ! Number of records character*134 ar__1 ! Full-size record integer*4 Seq_1 (nr__1) ! [1/3564]+= Finding List Number. character*9 Name_1 (nr__1) ! Star name, as in "catalog" character*120 Text (nr__1) ! Text of notes (1) *Note (1): If the notes are longer than 120 bytes, they start from the * 15th byte of next logical record until they end, while Seq and * star name are repeated in the fields of 1-4 bytes and 5-13 bytes * respectively. C============================================================================= C Loading file 'catalog.dat' ! The Finding List of Interacting Binaires C Format for file interpretation 1 format( + I4,A8,I2,I2,I3,F4.1,A1,F3.1,A1,F3.1,A1,A10,A1,A10,A1,F13.5,A1, + F16.9,A1,I4,A1,I4,A1,A10,A10,A10,A6,A32) C Effective file loading open(unit=1,status='old',file= +'catalog.dat') write(6,*) '....Loading file: catalog.dat' do i__=1,3564 read(1,'(A178)')ar__ read(ar__,1) + Seq(i__),Name(i__),RAh(i__),RAm(i__),DEdeg_1(i__),Bmax(i__), + n_Bmax(i__),Depth1(i__),n_Depth1(i__),Depth2(i__), + n_Depth2(i__),Sp1(i__),n_Sp1(i__),Sp2(i__),n_Sp2(i__), + Ep1(i__),n_Ep1(i__),Period(i__),x_Period(i__),min1Dur(i__), + x_min1Dur(i__),totDur(i__),x_totDur(i__),BD(i__),CD(i__), + CPD(i__),HD(i__),Names(i__) if(ar__(13:14) .EQ. '') RAh(i__) = iNULL__ if(ar__(15:16) .EQ. '') RAm(i__) = iNULL__ if(ar__(17:19) .EQ. '') DEdeg_1(i__) = iNULL__ if(ar__(25:27) .EQ. '') Depth1(i__) = rNULL__ if(ar__(29:31) .EQ. '') Depth2(i__) = rNULL__ if(ar__(55:67) .EQ. '') Ep1(i__) = rNULL__ if(ar__(69:84) .EQ. '') Period(i__) = rNULL__ RAdeg(i__) = rNULL__ DEdeg(i__) = rNULL__ c Derive coordinates RAdeg and DEdeg from input data c (RAdeg and DEdeg are set to rNULL__ when unknown) if(RAh(i__) .GT. -180) RAdeg(i__)=RAh(i__)*15. if(RAm(i__) .GT. -180) RAdeg(i__)=RAdeg(i__)+RAm(i__)/4. if(DEdeg_1(i__) .GE. 0) DEdeg(i__)=DEdeg_1(i__) c ..............Just test output........... write(6,1) + Seq(i__),Name(i__),RAh(i__),RAm(i__),DEdeg_1(i__),Bmax(i__), + n_Bmax(i__),Depth1(i__),n_Depth1(i__),Depth2(i__), + n_Depth2(i__),Sp1(i__),n_Sp1(i__),Sp2(i__),n_Sp2(i__), + Ep1(i__),n_Ep1(i__),Period(i__),x_Period(i__),min1Dur(i__), + x_min1Dur(i__),totDur(i__),x_totDur(i__),BD(i__),CD(i__), + CPD(i__),HD(i__),Names(i__) write(6,'(6H Pos: 2F8.4)') RAdeg(i__),DEdeg(i__) c .......End.of.Just test output........... end do close(1) C============================================================================= C Loading file 'remarks.dat' ! Remarks for designated systems. C Format for file interpretation 2 format(I4,A9,1X,A120) C Effective file loading open(unit=1,status='old',file= +'remarks.dat') write(6,*) '....Loading file: remarks.dat' do i__=1,5488 read(1,'(A134)')ar__1 read(ar__1,2)Seq_1(i__),Name_1(i__),Text(i__) c ..............Just test output........... write(6,2)Seq_1(i__),Name_1(i__),Text(i__) c .......End.of.Just test output........... end do close(1) C============================================================================= stop end