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-25
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__=-1.e37) ! NULL real number
parameter (iNULL__=-2147483647) ! NULL int number
C=============================================================================
Cat. VII/171 Michigan Emission-Line Objects (MacAlpine+ 1977-1982)
*================================================================================
*Curtis Schmidt-thin prism survey for extragalactic emission-line objects
* MacAlpine G.M., Smith S.B., Lewis D.W., Williams G.A., Feldman F.R.
* <Astrophys. J., 261, 412 (1982)>
* =1982ApJ...261..412M
C=============================================================================
C Internal variables
integer*4 i__
c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
C Declarations for 'catalog.dat' ! The UM Catalogue of emission-line objects
integer*4 nr__
parameter (nr__=698) ! Number of records
character*72 ar__ ! Full-size record
real*8 RA_ ! (deg) Right Ascension B1950
real*8 Dec ! (deg) Declination B1950
integer*4 UM ! [1,685] UM number
character*1 m_UM ! Multiplicity indicator
integer*4 RAh ! (h) right ascension (hours) (B1950)
integer*4 RAm ! (min) right ascension (minutes)
real*4 RAs ! (s) right ascension (seconds)
character*1 DE_ ! declination sign
integer*4 DEd ! (deg) declination (degrees) (B1950)
integer*4 DEm ! (arcmin) declination (minutes)
integer*4 DEs ! (arcsec) declination (seconds)
character*44 Names ! Other names
C=============================================================================
C Loading file 'catalog.dat' ! The UM Catalogue of emission-line objects
C Format for file interpretation
1 format(2X,I3,A1,1X,I2,1X,I2,1X,F4.1,1X,A1,I2,1X,I2,1X,I2,1X,A44)
C Effective file loading
open(unit=1,file='catalog.dat', status='old')
write(6,*) '....Loading file: catalog.dat'
do i__=1,698
read(1,'(A72)')ar__
read(ar__,1)UM,m_UM,RAh,RAm,RAs,DE_,DEd,DEm,DEs,Names
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)UM,m_UM,RAh,RAm,RAs,DE_,DEd,DEm,DEs,Names
write(6,'(6H Pos: 2F8.4)') RA_,Dec
c .......End.of.Just test output...........
end do
close(1)
C=============================================================================
stop
end