FORTRAN Generation
(/./ftp/cats/J/ApJS/186/406)

Conversion of standardized ReadMe file for file /./ftp/cats/J/ApJS/186/406 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 2024-Apr-20
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. J/ApJS/186/406           350um polarimetry from CSO              (Dotson+, 2010)
*================================================================================
*350{mu}m polarimetry from the Caltech Submillimeter Observatory.
*    Dotson J.L., Vaillancourt J.E., Kirby L., Dowell C.D., Hildebrand R.H.,
*    Davidson J.A.
*   <Astrophys. J. Suppl. Ser., 186, 406-426 (2010)>
*   =2010ApJS..186..406D
C=============================================================================

C  Internal variables

      integer*4 i__

c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

C  Declarations for 'table1.dat'	! Object list

      integer*4 nr__
      parameter (nr__=63)	! Number of records
      character*149 ar__   	! Full-size record

C  J2000 position composed of: RAh RAm RAs DE- DEd DEm DEs
      real*8        RAdeg       ! (deg) Right Ascension J2000
      real*8        DEdeg       ! (deg)     Declination J2000
C  ---------------------------------- ! (position vector(s) in degrees)

      character*15  Name        ! Object name
      character*15  OName       ! Other name
      character*21  Run         ! Observing run(s) (1)
      integer*4     RAh         ! (h) Hour of right ascension (J2000)
      integer*4     RAm         ! (min) Minute of right ascension (J2000)
      real*4        RAs         ! (s) Second of right ascension (J2000)
      character*1   DE_         ! Sign of declination (J2000)
      integer*4     DEd         ! (deg) Degree of declination (J2000)
      integer*4     DEm         ! (arcmin) Arcminute of declination (J2000)
      integer*4     DEs         ! (arcsec) Arcsecond of declination (J2000)
      real*4        GLON        ! (deg) Galactic longitude in decimal degrees
      real*4        GLAT        ! (deg) Galactic latitude in decimal degrees
      character*15  ChopT       ! (arcsec) Chop throw at ~3Hz (4)
      character*15  ChopPA      ! (deg) Chop angle in degrees E of N
      integer*4     Speak       ! (Jy) ? Peak intensity in Jy/beam at 350um (2)
      character*9   n_Speak     ! Intensity reference or calibration source (3)
      character*13  Ref         ! Previously published; see refs.dat file
*Note (1): Observing dates numbered as follows:
*    1 = 1997 April 18-27;
*    2 = 1997 September 18-26;
*    3 = 1998 February 14-19;
*    4 = 1998 May 2-3;
*    5 = 1999 January 27-30;
*    6 = 1999 April 4-8;
*    7 = 2000 January 4-8;
*    8 = 2000 July 24;
*    9 = 2001 February 21-26;
*   10 = 2001 April 10-16;
*   11 = 2001 July 19-20;
*   12 = 2002 February 14-18
*Note (2): Flux into a 20" Hertz beam.
*Note (3): Reference or calibration source for intensity estimate.
*    * 1 = Sandell, 1994MNRAS.271...75S
*    * 2 = Andre et al., 1993ApJ...406..122A
*    * 3 = Goldsmith et al., 1990ApJ...350..186G
*    * 4 = Ladd et al., 1993AIPC..278..246L
*    * Unreferenced objects are calibrated with respect to multiple sources
*      observed with Hertz. These sources include W3(OH) (498Jy per 19.5"
*      beam; Sandell 1994MNRAS.271...75S), Mars (brightness temperature
*      213K), and Uranus (brightness temperature 63K), and/or other objects
*     in the table with known  intensities.
*Note (4): "chopping" consists in rapid modulations (3-4Hz) of the secondary
*     mirror to remove most of the atmospheric fluctuations (see text)

c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

C  Declarations for 'table2.dat'	! Polarimetry data

      integer*4 nr__1
      parameter (nr__1=4372)	! Number of records
      character*78 ar__1  	! Full-size record

      character*15  Name_1      ! Object name
      integer*4     oRA         ! (arcsec) Right Ascension offset from center
      integer*4     oDE         ! (arcsec) Declination offset from center
      real*4        oX          ! (pix) X pixel offset from center (1)
      real*4        oY          ! (pix) Y pixel offset from center (1)
      real*4        Pol         ! (%) Polarization magnitude
      real*4        e_Pol       ! (%) Uncertainty in Pol
      real*4        PolPA       ! (deg) Polarization position angle (East of North)
      real*4        e_PolPA     ! (deg) Uncertainty in PolPA
      real*4        Flux        ! (Jy) Source intensity in units of Jy/beam at 350um
      real*4        e_Flux      ! (Jy) Uncertainty in Flux in units of Jy/beam
      integer*4     o_Flux      ! Number of measurements
*Note (1): oX is parallel to RA, except M17 is 16 degrees clockwise from RA
*     and M82 is 24 degrees clockwise from RA. oY is parallel to Dec, except
*     M17 is 16 degrees clockwise from Dec and M82 is 24 degrees clockwise
*     from Dec. Pixel offsets in the x- and y-directions are given in units
*     of the pixel center-to-center spacing, 17.8 arcseconds. Right
*     Ascension and Declination offsets are calculated using this spacing
*     and are rounded to the nearest arcsecond; offsets are given with
*     respect to the object centers given in Table 1.

c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

C  Declarations for 'refs.dat'	! References of table 1

      integer*4 nr__2
      parameter (nr__2=19)	! Number of records
      character*40 ar__2  	! Full-size record

      integer*4     Ref_1       ! Reference number
      character*19  BibCode     ! Bibcode
      character*17  Aut         ! First author's name

C=============================================================================

C  Loading file 'table1.dat'	! Object list

C  Format for file interpretation

    1 format(
     +  A15,1X,A15,1X,A21,1X,I2,1X,I2,1X,F4.1,1X,A1,I2,1X,I2,1X,I2,1X,
     +  F6.2,1X,F6.2,1X,A15,1X,A15,1X,I4,1X,A9,1X,A13)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table1.dat')
      write(6,*) '....Loading file: table1.dat'
      do i__=1,63
        read(1,'(A149)')ar__
        read(ar__,1)
     +  Name,OName,Run,RAh,RAm,RAs,DE_,DEd,DEm,DEs,GLON,GLAT,ChopT,
     +  ChopPA,Speak,n_Speak,Ref
        if(ar__(122:125) .EQ. '') Speak = 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(DEs .GE. 0) DEdeg=DEdeg+DEs/3600.
        if(DE_.EQ.'-'.AND.DEdeg.GE.0) DEdeg=-DEdeg
c    ..............Just test output...........
        write(6,1)
     +  Name,OName,Run,RAh,RAm,RAs,DE_,DEd,DEm,DEs,GLON,GLAT,ChopT,
     +  ChopPA,Speak,n_Speak,Ref
        write(6,'(6H Pos: 2F8.4)') RAdeg,DEdeg
c    .......End.of.Just test output...........
      end do
      close(1)

C=============================================================================

C  Loading file 'table2.dat'	! Polarimetry data

C  Format for file interpretation

    2 format(
     +  A15,1X,I4,1X,I4,1X,F5.1,1X,F5.1,1X,F5.2,1X,F5.2,1X,F5.1,1X,
     +  F6.1,1X,F6.1,1X,F4.1,1X,I3)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table2.dat')
      write(6,*) '....Loading file: table2.dat'
      do i__=1,4372
        read(1,'(A78)')ar__1
        read(ar__1,2)
     +  Name_1,oRA,oDE,oX,oY,Pol,e_Pol,PolPA,e_PolPA,Flux,e_Flux,
     +  o_Flux
c    ..............Just test output...........
        write(6,2)
     +  Name_1,oRA,oDE,oX,oY,Pol,e_Pol,PolPA,e_PolPA,Flux,e_Flux,
     +  o_Flux
c    .......End.of.Just test output...........
      end do
      close(1)

C=============================================================================

C  Loading file 'refs.dat'	! References of table 1

C  Format for file interpretation

    3 format(I2,1X,A19,1X,A17)

C  Effective file loading

      open(unit=1,status='old',file=
     +'refs.dat')
      write(6,*) '....Loading file: refs.dat'
      do i__=1,19
        read(1,'(A40)')ar__2
        read(ar__2,3)Ref_1,BibCode,Aut
c    ..............Just test output...........
        write(6,3)Ref_1,BibCode,Aut
c    .......End.of.Just test output...........
      end do
      close(1)

C=============================================================================
      stop
      end