Conversion of standardized ReadMe file for
file /./ftp/cats/VII/34C 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 2026-Sep-09
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. VII/34C ESO/Uppsala Survey of the ESO(B) Atlas (Lauberts 1982)
*================================================================================
*The ESO/Uppsala Survey of the ESO(B) Atlas
* Lauberts A.
* <European Southern Observatory (1982)>
* =1982ESO...C......0L
C=============================================================================
C Internal variables
integer*4 i__
c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
C Declarations for 'catalog.dat' ! The Catalogue
integer*4 nr__
parameter (nr__=18422) ! Number of records
character*188 ar__ ! Full-size record
C 1950 position composed of: RAh RAm RAs DE- DEd DEm
real*8 RAdeg ! (deg) Right Ascension 1950
real*8 DEdeg ! (deg) Declination 1950
C ---------------------------------- ! (position vector(s) in degrees)
integer*4 RAh ! (h) Hours RA, equinox 1950
integer*4 RAm ! (min) Minutes RA, equinox 1950
integer*4 RAs ! (s) Seconds RA, equinox 1950
character*1 DE_ ! Sign Dec, equinox 1950
integer*4 DEd ! (deg) Degrees Dec, equinox 1950
real*4 DEm ! (arcmin) Minutes Dec, equinox 1950
character*10 ESO ! ESO/Uppsala descriptive identifier (1)
character*23 ID ! Other identifier (2)
real*4 GLON ! (deg) Galactic longitude
real*4 GLAT ! (deg) Galactic latitude
real*4 X ! (mm) X plate coordinate (positive toward East)
real*4 Y ! (mm) Y plate coordinate (positive toward North)
integer*4 MajAxis ! (0.1arcmin) ? Major axis diameter
character*1 u_MajAxis ! [: ] ':' if major axis is uncertain
integer*4 MinAxis ! (0.1arcmin) ? Minor axis diameter
character*1 u_MinAxis ! [: ] ':' if minor axis is uncertain
integer*4 PA ! (deg) ? Position angle of major axis from
* north through east
character*1 u_PA ! [: ] ':' if position angle is uncertain
integer*4 MType ! ? Morphological type in RC2 system
* (de Vaucouleurs et al., 1976)
character*27 Class ! Estimated Hubble class
character*27 Desc ! Description
character*1 FlagN ! [ *] '*' if note exists in file "notes.dat"
character*1 FlagM ! [ 1] '1' if galaxy listed in MCG
character*1 FlagRC ! [ 2] '2' if galaxy listed in RC2
character*1 FlagV ! [ V] 'V' if galaxy listed in
* Vorontsov-Velyaminov (1959)
character*1 FlagA ! [ A] 'A' if galaxy listed in Arp (1966)
real*4 Bmag ! (mag) ? B magnitude in the UBV system
real*4 e_Bmag ! (mag) ? Mean error in Bmag
integer*4 apBmag ! (arcsec) ? Aperture for Bmag
character*2 r_Bmag ! ? Reference code for Bmag magnitude (3)
real*4 B_V ! (mag) ? B-V color in the UBV system
real*4 U_B ! (mag) ? U-B color in the UBV system
character*2 r_B_V ! ? Reference to U-B and B-V (3)
integer*4 RV ! (km/s) ? Radial velocity
integer*4 e_RV ! (km/s) ? Radial velocity mean error
character*2 r_RV ! ? Radial velocity reference (3)
*Note (1): ESO designation is written FFF-oooNNN, where
* FFF = Field (plate) number, see file "plates.dat"
* ooo = Object class with
* * = star ** = double or multiple star
* SC = star cluster N = nebula
* A = asteroid C = comet
* G = galaxy IG = interacting galaxy
* EN = emission nebula PN = planetary nebula
* RN = reflection nebula SNR = supernova remnant
* ? = questionable object
* NNN = number within field
*Note (2): Some common abbreviations include: N for NGC, I for IC,
* M for Messier, PK for Perek-Kohoutek planetary nebulae,
* and GCl or OCl for star clusters from the Budapest catalog.
* References to these and other abbreviations are detailed in
* file "idrefs.dat"
*Note (3): See explanation in file "refs.dat"
c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
C Declarations for 'idrefs.dat' ! Identifications References
integer*4 nr__1
parameter (nr__1=107) ! Number of records
character*80 ar__1 ! Full-size record
character*10 ID_1 ! Identification, see ID in table catalog.dat
character*70 Text ! Text of bibliographic reference
c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
C Declarations for 'refs.dat' ! Magnitude, Color and Radial Velocity References
integer*4 nr__2
parameter (nr__2=202) ! Number of records
character*80 ar__2 ! Full-size record
character*2 Code ! Reference code (columns
* r_Bmag, r_B-V, r_RV of catalog.dat)
character*9 Data ! Type of data taken from reference:
* Z = reference for radial velocity
* other = magnitude bandpass, e.g. 'UBV'
character*67 Text_1 ! Text of bibliographic reference
c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
C Declarations for 'notes.dat' ! Notes to catalog
integer*4 nr__3
parameter (nr__3=1405) ! Number of records
character*80 ar__3 ! Full-size record
C 1950 position composed of: RAh RAm RAs DE- DEd DEm
real*8 RAdeg_1 ! (deg) Right Ascension 1950
real*8 DEdeg_1 ! (deg) Declination 1950
C ---------------------------------- ! (position vector(s) in degrees)
integer*4 RAh_1 ! (h) Hours RA, equinox 1950
integer*4 RAm_1 ! (min) Minutes RA, equinox 1950
integer*4 RAs_1 ! (s) Seconds RA, equinox 1950
character*1 DE__1 ! Sign Dec, equinox 1950
integer*4 DEd_1 ! (deg) Degrees Dec, equinox 1950
real*4 DEm_1 ! (arcmin) Minutes Dec, equinox 1950
character*10 ESO_1 ! ESO/Uppsala identifier
character*55 Text_2 ! Text of note
c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
C Declarations for 'plates.dat' ! Plate centers
integer*4 nr__4
parameter (nr__4=612) ! Number of records
character*80 ar__4 ! Full-size record
C 1950.0 position composed of: RAh RAm RAs DE- DEd DEm
real*8 RAdeg_2 ! (deg) Right Ascension 1950.0
real*8 DEdeg_2 ! (deg) Declination 1950.0
C ---------------------------------- ! (position vector(s) in degrees)
integer*4 Field ! Field number
integer*4 NPC_RAh ! (h) Hours RA, 1950.0, of nominal plate center
integer*4 NPC_RAm ! (min) Minutes RA, 1950.0, of nominal plate center
integer*4 NPC_DEdeg ! (deg) Degrees Dec, 1950.0, of nominal plate center
integer*4 Plate ! Plate number
integer*4 RAh_2 ! (h) Hours RA, 1950.0, of plate center
integer*4 RAm_2 ! (min) Minutes RA, 1950.0, of plate center
integer*4 RAs_2 ! (s) Seconds RA, 1950.0, of plate center
character*1 DE__2 ! Sign Dec, 1950.0, of plate center
integer*4 DEd_2 ! (deg) Degrees Dec, 1950.0, of plate center
real*4 DEm_2 ! (arcmin) Minutes Dec, 1950.0, of plate center
real*4 Diff_X ! (mm) Center difference, X
real*4 Diff_Y ! (mm) Center difference, Y
integer*4 Exp_Y ! (a) Exposure start time, year, Universal Time
integer*4 Exp_M ! Exposure start time, month, Universal Time
real*8 Exp_d ! (d) Exposure start time, day, Universal Time
integer*4 ExpST_h ! (h) Exposure start time, hour, Sideral Time
integer*4 ExpST_m ! (min) Exposure start time, minutes, Sideral Time
integer*4 Seeing ! Seeing quality (1)
character*3 Obs_Code ! Observer code (2)
character*1 Note ! Note (3)
*Note (1): Seeing judged on a 5-step scale; the corresponding
* approximate image diameters are as follows:
* 1 - <25 microns (156 plates)
* 2 - 20-30 microns (182 plates)
* 3 - 25-35 microns (141 plates)
* 4 - 30-40 microns ( 79 plates)
* 5 - >35 microns ( 48 plates)
*Note (2): the Observer code is:
* GPA - Guido Pizarro (186 plates)
* OPA - Oscar Pizarro (180 plates)
* HES - Hans-Emil Schuster (167 plates)
* DBA - Dominique Ballereau ( 72 plates)
* AZU - Alberto Zuniga ( 1 plate )
*Note (3): the coded notes stand for:
* 1 - Clouds
* 2 - Wind
* 3 - Cirrus
* 4 - Humidity
* 5 - Wind and clouds
* 6 - Image motion
* 7 - (not used)
* 8 - No grid on plate (plate number < 400)
* 9 - Plate not used in ESO/Uppsala Survey.
C=============================================================================
C Loading file 'catalog.dat' ! The Catalogue
C Format for file interpretation
1 format(
+ I2,I2,I2,A1,I2,F4.1,1X,A10,1X,A23,F6.2,F6.2,F6.1,F6.1,1X,I3,
+ A1,I3,A1,I3,A1,1X,I2,1X,A27,A27,A1,A1,A1,A1,A1,F6.2,F4.2,I2,
+ 1X,A2,F5.2,F5.2,1X,A2,I5,I4,1X,A2)
C Effective file loading
open(unit=1,status='old',file=
+'catalog.dat')
write(6,*) '....Loading file: catalog.dat'
do i__=1,18422
read(1,'(A188)')ar__
read(ar__,1)
+ RAh,RAm,RAs,DE_,DEd,DEm,ESO,ID,GLON,GLAT,X,Y,MajAxis,
+ u_MajAxis,MinAxis,u_MinAxis,PA,u_PA,MType,Class,Desc,FlagN,
+ FlagM,FlagRC,FlagV,FlagA,Bmag,e_Bmag,apBmag,r_Bmag,B_V,U_B,
+ r_B_V,RV,e_RV,r_RV
if(ar__(74:76) .EQ. '') MajAxis = iNULL__
if(ar__(78:80) .EQ. '') MinAxis = iNULL__
if(ar__(82:84) .EQ. '') PA = iNULL__
if(ar__(87:88) .EQ. '') MType = iNULL__
if(ar__(149:154) .EQ. '') Bmag = rNULL__
if(ar__(155:158) .EQ. '') e_Bmag = rNULL__
if(ar__(159:160) .EQ. '') apBmag = iNULL__
if(ar__(164:168) .EQ. '') B_V = rNULL__
if(ar__(169:173) .EQ. '') U_B = rNULL__
if(ar__(177:181) .EQ. '') RV = iNULL__
if(ar__(182:185) .EQ. '') e_RV = 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(DE_.EQ.'-'.AND.DEdeg.GE.0) DEdeg=-DEdeg
c ..............Just test output...........
write(6,1)
+ RAh,RAm,RAs,DE_,DEd,DEm,ESO,ID,GLON,GLAT,X,Y,MajAxis,
+ u_MajAxis,MinAxis,u_MinAxis,PA,u_PA,MType,Class,Desc,FlagN,
+ FlagM,FlagRC,FlagV,FlagA,Bmag,e_Bmag,apBmag,r_Bmag,B_V,U_B,
+ r_B_V,RV,e_RV,r_RV
write(6,'(6H Pos: 2F8.4)') RAdeg,DEdeg
c .......End.of.Just test output...........
end do
close(1)
C=============================================================================
C Loading file 'idrefs.dat' ! Identifications References
C Format for file interpretation
2 format(A10,A70)
C Effective file loading
open(unit=1,status='old',file=
+'idrefs.dat')
write(6,*) '....Loading file: idrefs.dat'
do i__=1,107
read(1,'(A80)')ar__1
read(ar__1,2)ID_1,Text
c ..............Just test output...........
write(6,2)ID_1,Text
c .......End.of.Just test output...........
end do
close(1)
C=============================================================================
C Loading file 'refs.dat' ! Magnitude, Color and Radial Velocity References
C Format for file interpretation
3 format(A2,1X,A9,1X,A67)
C Effective file loading
open(unit=1,status='old',file=
+'refs.dat')
write(6,*) '....Loading file: refs.dat'
do i__=1,202
read(1,'(A80)')ar__2
read(ar__2,3)Code,Data,Text_1
c ..............Just test output...........
write(6,3)Code,Data,Text_1
c .......End.of.Just test output...........
end do
close(1)
C=============================================================================
C Loading file 'notes.dat' ! Notes to catalog
C Format for file interpretation
4 format(I2,I2,I2,A1,I2,F4.1,1X,A10,1X,A55)
C Effective file loading
open(unit=1,status='old',file=
+'notes.dat')
write(6,*) '....Loading file: notes.dat'
do i__=1,1405
read(1,'(A80)')ar__3
read(ar__3,4)RAh_1,RAm_1,RAs_1,DE__1,DEd_1,DEm_1,ESO_1,Text_2
RAdeg_1 = rNULL__
DEdeg_1 = rNULL__
c Derive coordinates RAdeg_1 and DEdeg_1 from input data
c (RAdeg_1 and DEdeg_1 are set to rNULL__ when unknown)
if(RAh_1 .GT. -180) RAdeg_1=RAh_1*15.
if(RAm_1 .GT. -180) RAdeg_1=RAdeg_1+RAm_1/4.
if(RAs_1 .GT. -180) RAdeg_1=RAdeg_1+RAs_1/240.
if(DEd_1 .GE. 0) DEdeg_1=DEd_1
if(DEm_1 .GE. 0) DEdeg_1=DEdeg_1+DEm_1/60.
if(DE__1.EQ.'-'.AND.DEdeg_1.GE.0) DEdeg_1=-DEdeg_1
c ..............Just test output...........
write(6,4)RAh_1,RAm_1,RAs_1,DE__1,DEd_1,DEm_1,ESO_1,Text_2
write(6,'(6H Pos: 2F8.4)') RAdeg_1,DEdeg_1
c .......End.of.Just test output...........
end do
close(1)
C=============================================================================
C Loading file 'plates.dat' ! Plate centers
C Format for file interpretation
5 format(
+ I3,2X,I2,1X,I2,1X,I3,1X,I4,1X,I2,1X,I2,1X,I2,1X,A1,I2,1X,F4.1,
+ F6.2,F6.2,I5,I3,F9.5,I3,I3,1X,I1,1X,A3,1X,A1)
C Effective file loading
open(unit=1,status='old',file=
+'plates.dat')
write(6,*) '....Loading file: plates.dat'
do i__=1,612
read(1,'(A80)')ar__4
read(ar__4,5)
+ Field,NPC_RAh,NPC_RAm,NPC_DEdeg,Plate,RAh_2,RAm_2,RAs_2,DE__2,
+ DEd_2,DEm_2,Diff_X,Diff_Y,Exp_Y,Exp_M,Exp_d,ExpST_h,ExpST_m,
+ Seeing,Obs_Code,Note
RAdeg_2 = rNULL__
DEdeg_2 = rNULL__
c Derive coordinates RAdeg_2 and DEdeg_2 from input data
c (RAdeg_2 and DEdeg_2 are set to rNULL__ when unknown)
if(RAh_2 .GT. -180) RAdeg_2=RAh_2*15.
if(RAm_2 .GT. -180) RAdeg_2=RAdeg_2+RAm_2/4.
if(RAs_2 .GT. -180) RAdeg_2=RAdeg_2+RAs_2/240.
if(DEd_2 .GE. 0) DEdeg_2=DEd_2
if(DEm_2 .GE. 0) DEdeg_2=DEdeg_2+DEm_2/60.
if(DE__2.EQ.'-'.AND.DEdeg_2.GE.0) DEdeg_2=-DEdeg_2
c ..............Just test output...........
write(6,5)
+ Field,NPC_RAh,NPC_RAm,NPC_DEdeg,Plate,RAh_2,RAm_2,RAs_2,DE__2,
+ DEd_2,DEm_2,Diff_X,Diff_Y,Exp_Y,Exp_M,Exp_d,ExpST_h,ExpST_m,
+ Seeing,Obs_Code,Note
write(6,'(6H Pos: 2F8.4)') RAdeg_2,DEdeg_2
c .......End.of.Just test output...........
end do
close(1)
C=============================================================================
stop
end