CDS.headStuff2
FORTRAN Generation
Conversion of standardized ReadMe file for
catalog 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-26 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. VIII/32 Extragalactic sources at 5GHz (Jenkins+ 1977) *================================================================================ *Observations of 104 extragalactic radio sources with the *Cambridge 5-km telescope at 5 GHz. * Jenkins C.J., Pooley G.G., Riley J.M. * <Mem. R. Astron. Soc., 84, 61 (1977)> * =1977MmRAS..84...61J C============================================================================= C Internal variables integer*4 i__ c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - C Declarations for 'table1.dat' ! Extragalactic radio sources integer*4 nr__ parameter (nr__=348) ! Number of records character*117 ar__ ! Full-size record C 1950 position composed of: RAh RAm RAs DE- DEd DEm DEs real*8 RAdeg (nr__) ! (deg) Right Ascension 1950 real*8 DEdeg (nr__) ! (deg) Declination 1950 C ---------------------------------- ! (position vector(s) in degrees) character*7 Name (nr__) ! Source number from the 3C or 4C catalogues character*1 n_Name (nr__) ! [*] note detailed in notes.dat file integer*4 Nspa (nr__) ! ? Number of spacings, N used in the * synthesis (see Section 2). character*1 f_Name (nr__) ! [S] S for the source character*1 n_RAh (nr__) ! [#] # = optical position character*1 u_RAh (nr__) ! [(] Note (1) integer*4 RAh (nr__) ! (h) ? Radio peak of emission right ascension (1950) integer*4 RAm (nr__) ! (min) ? Radio peak of emission right ascension (1950) real*4 RAs (nr__) ! (s) ? Radio peak of emission right ascension (1950) real*4 e_RAs (nr__) ! (s) ? rms uncertainty on right ascension (2) character*1 DE_ (nr__) ! ? Radio peak declination sign (1950) integer*4 DEd (nr__) ! (deg) ? Radio peak of emission declination (1950) integer*4 DEm (nr__) ! (arcmin) ? Radio peak of emission declination (1950) real*4 DEs (nr__) ! (arcsec) ? Radio peak of emission declination (1950) real*4 e_DEs (nr__) ! (arcsec) ? rms uncertainty in DEs (2) character*1 u_DEd (nr__) ! [)] Note (1) integer*4 PA (nr__) ! (deg) ? Position angle of the major axis of the * component, if well defined character*1 l_omega1 (nr__) ! Limit flag on omega1 real*4 omega1 (nr__) ! (arcsec) ? Angular extent of each component parallel and * perpendicular to its major axis (3) character*1 u_omega1 (nr__) ! Uncertainty flag on omega1 character*1 l_omega2 (nr__) ! Limit flag on omega2 real*4 omega2 (nr__) ! (arcsec) ? Angular extent of each component parallel and * perpendicular to its major axis (3) character*1 u_omega2 (nr__) ! Uncertainty flag on omega2 integer*4 S5GHz (nr__) ! (mJy) ? Flux density of each component at 5 GHz integer*4 e_S5GHz (nr__) ! (mJy) ? rms uncertainty on S5GHz real*4 Theta (nr__) ! (arcsec) ? Overall angular extent of the source (4) character*1 u_Theta (nr__) ! Uncertainty flag on theta integer*4 I5GHz (nr__) ! (mJy) ? Integrated flux density of the source at * 5GHz (5) integer*4 e_I5GHz (nr__) ! (mJy) ? rms uncertainty on I5GHz real*4 z (nr__) ! ? Redshift of the associated object. integer*4 Dist (nr__) ! (Mpc) ? Distance derived from the redshift (6) character*1 l_Size (nr__) ! Limit flag on Size integer*4 Size (nr__) ! (kpc) ? Total linear size of the source if the * angular size is that given in column Theta character*1 u_Size (nr__) ! Uncertainty flag on size *Note (1): The coordinates in brackets are unlikely to be related to the * radio source. *Note (2): No error is quoted if the component has no well-defined peak. *Note (3): The angular extents of each component parallel and * perpendicular to its major axis; if no position angle is given, the * quoted angular sizes are in RA and DE. When the component is barely * resolved, a Gaussian brightness distribution is assumed in estimating * its angular extent. For more complex components the quoted sizes are * only approximate. *Note (4): This is usually the separation of the outermost peaks of a * multiple source. *Note (5): This is the maximum amplitude on the smallest interferometer * spacing used in the observations. For 3C sources the values measured * in this way agree well with those given by Kellermann, Pauliny-Toth & * Williams (1974MNRAS.169..477P). *Note (6): An Einstein-de Sitter model has been used, assuming * H_0_=50km/s/Mpc, {Omega}=1 and q_0_=0.5. c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - C Declarations for 'notes.dat' ! Individual notes integer*4 nr__1 parameter (nr__1=104) ! Number of records character*80 ar__1 ! Full-size record character*8 Name_1 (nr__1) ! 3C or 4C name character*71 Note (nr__1) ! Text of the note c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - C Declarations for 'table2.dat' ! Sample integer*4 nr__2 parameter (nr__2=166) ! Number of records character*21 ar__2 ! Full-size record character*8 Name_2 (nr__2) ! 3C number real*4 S178MHz (nr__2) ! Flux density at 178 MHz on the scale of * Kellermann et al., 1969ApJ...157....1K character*3 Ref (nr__2) ! Reference to the 5-GHz, 5-km telescope (1) *Note (1): References: * ER 1976MNRAS.174..411E, Elsmore & Ryle * H 1974MNRAS.168..491H, Hargrave * HM 1975MNRAS.173...37H, Hargrave & McEllin * JPR 1977MmRAS..84...61J, Jenkins et al., this paper * JS 1976MNRAS.174..327J, Jenkins & Scheuer * L 1975MNRAS.173..309L, Longair * N 1973MNRAS.165..369N, Northover * PH 1974MNRAS.169..477P, Pooley & Henbest * RB 1973MNRAS.164..271R, Riley & Branson * RP 1976MmRAS..80..105R, Riley & Pooley * T1 1975MNRAS.170..281T, Turland * T2 1975MNRAS.172..181T, Turland C============================================================================= C Loading file 'table1.dat' ! Extragalactic radio sources C Format for file interpretation 1 format( + A7,A1,I2,1X,A1,1X,A1,A1,I2,1X,I2,1X,F6.3,1X,F5.3,A1,I2,1X,I2, + 1X,F5.2,1X,F5.2,A1,1X,I3,1X,A1,F4.1,A1,1X,A1,F4.1,A1,1X,I4,1X, + I3,2X,F6.1,A1,1X,I4,1X,I3,2X,F6.4,2X,I4,1X,A1,I3,A1) C Effective file loading open(unit=1,status='old',file= +'table1.dat') write(6,*) '....Loading file: table1.dat' do i__=1,348 read(1,'(A117)')ar__ read(ar__,1) + Name(i__),n_Name(i__),Nspa(i__),f_Name(i__),n_RAh(i__), + u_RAh(i__),RAh(i__),RAm(i__),RAs(i__),e_RAs(i__),DE_(i__), + DEd(i__),DEm(i__),DEs(i__),e_DEs(i__),u_DEd(i__),PA(i__), + l_omega1(i__),omega1(i__),u_omega1(i__),l_omega2(i__), + omega2(i__),u_omega2(i__),S5GHz(i__),e_S5GHz(i__),Theta(i__), + u_Theta(i__),I5GHz(i__),e_I5GHz(i__),z(i__),Dist(i__), + l_Size(i__),Size(i__),u_Size(i__) if(ar__(9:10) .EQ. '') Nspa(i__) = iNULL__ if(ar__(16:17) .EQ. '') RAh(i__) = iNULL__ if(ar__(19:20) .EQ. '') RAm(i__) = iNULL__ if(ar__(22:27) .EQ. '') RAs(i__) = rNULL__ if(ar__(29:33) .EQ. '') e_RAs(i__) = rNULL__ if(ar__(35:36) .EQ. '') DEd(i__) = iNULL__ if(ar__(38:39) .EQ. '') DEm(i__) = iNULL__ if(ar__(41:45) .EQ. '') DEs(i__) = rNULL__ if(ar__(47:51) .EQ. '') e_DEs(i__) = rNULL__ if(ar__(54:56) .EQ. '') PA(i__) = iNULL__ if(ar__(59:62) .EQ. '') omega1(i__) = rNULL__ if(ar__(66:69) .EQ. '') omega2(i__) = rNULL__ if(ar__(72:75) .EQ. '') S5GHz(i__) = iNULL__ if(ar__(77:79) .EQ. '') e_S5GHz(i__) = iNULL__ if(ar__(82:87) .EQ. '') Theta(i__) = rNULL__ if(ar__(90:93) .EQ. '') I5GHz(i__) = iNULL__ if(ar__(95:97) .EQ. '') e_I5GHz(i__) = iNULL__ if(ar__(100:105) .EQ. '') z(i__) = rNULL__ if(ar__(108:111) .EQ. '') Dist(i__) = iNULL__ if(ar__(114:116) .EQ. '') Size(i__) = iNULL__ 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(RAs(i__) .GT. -180) RAdeg(i__)=RAdeg(i__)+RAs(i__)/240. if(DEd(i__) .GE. 0) DEdeg(i__)=DEd(i__) if(DEm(i__) .GE. 0) DEdeg(i__)=DEdeg(i__)+DEm(i__)/60. if(DEs(i__) .GE. 0) DEdeg(i__)=DEdeg(i__)+DEs(i__)/3600. if(DE_(i__).EQ.'-'.AND.DEdeg(i__).GE.0) DEdeg(i__)=-DEdeg(i__) c ..............Just test output........... write(6,1) + Name(i__),n_Name(i__),Nspa(i__),f_Name(i__),n_RAh(i__), + u_RAh(i__),RAh(i__),RAm(i__),RAs(i__),e_RAs(i__),DE_(i__), + DEd(i__),DEm(i__),DEs(i__),e_DEs(i__),u_DEd(i__),PA(i__), + l_omega1(i__),omega1(i__),u_omega1(i__),l_omega2(i__), + omega2(i__),u_omega2(i__),S5GHz(i__),e_S5GHz(i__),Theta(i__), + u_Theta(i__),I5GHz(i__),e_I5GHz(i__),z(i__),Dist(i__), + l_Size(i__),Size(i__),u_Size(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 'notes.dat' ! Individual notes C Format for file interpretation 2 format(A8,1X,A71) C Effective file loading open(unit=1,status='old',file= +'notes.dat') write(6,*) '....Loading file: notes.dat' do i__=1,104 read(1,'(A80)')ar__1 read(ar__1,2)Name_1(i__),Note(i__) c ..............Just test output........... write(6,2)Name_1(i__),Note(i__) c .......End.of.Just test output........... end do close(1) C============================================================================= C Loading file 'table2.dat' ! Sample C Format for file interpretation 3 format(A8,2X,F6.1,2X,A3) C Effective file loading open(unit=1,status='old',file= +'table2.dat') write(6,*) '....Loading file: table2.dat' do i__=1,166 read(1,'(A21)')ar__2 read(ar__2,3)Name_2(i__),S178MHz(i__),Ref(i__) c ..............Just test output........... write(6,3)Name_2(i__),S178MHz(i__),Ref(i__) c .......End.of.Just test output........... end do close(1) C============================================================================= stop end