FORTRAN Generation
(/./ftp/cats/J/A_A/592/A126)

Conversion of standardized ReadMe file for file /./ftp/cats/J/A_A/592/A126 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-Jul-13
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/A+A/592/A126      Transition disk survey                (van der Marel+, 2016)
*================================================================================
*The (w)hole survey: An unbiased sample study of transition disk candidates
*based on Spitzer catalogs.
*    van der Marel N., Verhaar B.W., van Terwisga S., Merin B., Herczeg G.,
*    Ligterink N.F.W., van Dishoeck E.F.
*    <Astron. Astrophys. 592, A126 (2016)>
*    =2016A&A...592A.126V
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for 'apex.dat'	! Derived APEX photometry (table 4)

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

      integer*4     ID          ! ID target
      real*4        F350        ! (Jy) ? 350 micron flux APEX-SABOCA
      real*4        e_F350      ! (Jy) ? Error 350 micron flux APEX-SABOCA
      character*1   l_F350      ! Upper limit flag 350 micron flux APEX-SABOCA
      real*4        F870        ! (mJy) ? 870 micron flux APEX-LABOCA
      real*4        e_F870      ! (mJy) ? Error 870 micron flux APEX-LABOCA
      character*1   l_F870      ! Upper limit flag 870 micron flux APEX-LABOCA
      character*1   cont        ! [Y] Flag contamination cloud emission (1)
*Note (1): Y: the flux is contaminated by extended emission near the source
*   position.

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

C  Declarations for 'jcmt.dat'	! Derived JCMT photometry (table 5)

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

      integer*4     ID_1        ! ID target
      real*4        F850        ! (mJy) 850 micron flux JCMT-SCUBA2
      real*4        e_F850      ! (mJy) Error 850 micron flux JCMT-SCUBA2
      character*1   l_F850      ! Upper limit flag 850 micron flux JCMT-SCUBA2
      character*1   cont_1      ! [Y] Flag contamination cloud emission (1)
*Note (1): Y: the flux is contaminated by extended emission near the source
* position.

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

C  Declarations for 'table.dat'	! Target properties (tables 8, A1-A3, C1, D1)

      integer*4 nr__2
      parameter (nr__2=213)	! Number of records
      character*394 ar__2  	! 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)

      integer*4     ID_2        ! ID target
      character*20  Name        ! Name
      character*17  AName       ! Alternative name
      integer*4     RAh         ! (h) Right ascension (J2000)
      integer*4     RAm         ! (min) Right ascension (J2000)
      real*4        RAs         ! (s) Right ascension (J2000)
      character*1   DE_         ! Declination sign (J2000)
      integer*4     DEd         ! (deg) Declination (J2000)
      integer*4     DEm         ! (arcmin) Declination (J2000)
      real*4        DEs         ! (arcsec) Declination (J2000)
      character*18  Region      ! Star forming region
      integer*4     d           ! (pc) Distance
      character*6   Color       ! Color criterium used to select
      character*7   Origin      ! Origin Spitzer data (1)
      character*5   PrevCl      ! Previous literature classification (2)
      character*5   r_PrevCl    ! Reference for previous classification,
*                                    in refs.dat file
      character*8   SpType      ! MK spectral type
      integer*4     Teff        ! (K) ?=- Effective temperature
      real*4        Av          ! (mag) ?=- Visual extinction
      real*4        L_          ! (Lsun) ?=- Stellar luminosity
      real*4        M_          ! (Msun) ?=- Stellar mass
      real*4        EW_Ha       ! (0.1nm) ?=- Equivalent width of H{alpha}
      integer*4     FW10        ! (km/s) ?=- Full width at 10% of peak of H{alpha}
      character*1   Accret      ! [YNU] Accretion
*                                    (Y=accretor, N=non-accretor, U=unknown)
      character*1   Accder      ! [NWX] Derivation accretion (4)
      character*5   r_Stel      ! Reference for stellar properties,
*                                    in refs.dat file
      real*4        PACS70      ! (mJy) ? Flux Herschel-PACS 70 micron
      real*4        e_PACS70    ! (mJy) ? Error flux Herschel-PACS 70 micron
      character*1   l_PACS70    ! Upper limit flag on PACS70
      real*4        PACS100     ! (mJy) ? Flux Herschel-PACS 100 micron
      real*4        e_PACS100   ! (mJy) ? Error flux Herschel-PACS 100 micron
      character*1   l_PACS100   ! Upper limit flag on PACS100
      real*4        PACS160     ! (mJy) ? Flux Herschel-PACS 160 micron
      real*4        e_PACS160   ! (mJy) ? Error flux Herschel-PACS 160 micron
      character*1   l_PACS160   ! Upper limit flag on PACS160
      character*1   confPACS    ! [Y] Cloud confusion (6)
      integer*4     S350        ! (mJy) ? Flux SABOCA 350 micron
      integer*4     e_S350      ! (mJy) ? Error flux SABOCA 350 micron
      character*1   l_S350      ! Upper limit flag on S350
      integer*4     L870        ! (mJy) ? Flux LABOCA 870 micron
      integer*4     e_L870      ! (mJy) ? Error flux LABOCA 870 micron
      character*1   l_L870      ! Upper limit flag on L870
      integer*4     SC450       ! (mJy) ? Flux SCUBA2 450 micron
      integer*4     e_SC450     ! (mJy) ? Error flux SCUBA2 450 micron
      character*1   l_SC450     ! Upper limit flag on SC450
      integer*4     SC850       ! (mJy) ? Flux SCUBA2 850 micron
      integer*4     e_SC850     ! (mJy) ? Error flux SCUBA2 850 micron
      character*1   l_SC850     ! Upper limit flag SCUBA2 850 micron flux
      integer*4     SM880       ! (mJy) ? Flux SMA 880 micron
      integer*4     e_SM880     ! (mJy) ? Error flux SMA 880 micron
      real*4        Fl1300      ! (mJy) ? Flux 1300 micron
      real*4        e_Fl1300    ! (mJy) ? Error flux 1300 micron
      character*1   l_Fl1300    ! Upper limit flag on Fl1300
      real*4        Fl3300      ! (mJy) ? Flux 3300 micron
      real*4        e_Fl3300    ! (mJy) ? Error flux 3300 micron
      character*1   l_Fl3300    ! Upper limit flag on Fl3300
      character*7   r_Fl3300    ! Reference (sub)millimeter fluxes,
*                                    in refs.dat file
      character*1   l_Sep_as    ! Limit flag on Sep(as)
      real*4        Sep_as      ! (arcsec) ?=- Binary separation limit (arcsecond)
      character*1   l_Sep_AU    ! Limit flag on Sep
      real*4        Sep_AU      ! (AU) ? Binary separation limit (AU)
      integer*4     r_mp        ! ? References of multiplicity studies,
*                                      in refs.dat file
      integer*4     rcav        ! (AU) ? Cavity radius
      integer*4     Brcav       ! (AU) ? Upper range cavity radius
      integer*4     brcav_1     ! (AU) ? Lower range cavity radius
      real*4        Sigc        ! (g/cm2) ? Dust surface density at rc (Sigma_c)
      real*4        Mdiskfit    ! (MJup) ? Total disk mass of best fit model
      real*4        Mdiskmm     ! (MJup) ?=- Total disk mass using (sub)millimeter
*                                    flux
      character*1   l_Mdiskmm   ! Upper limit flag of total disk mass using
*                                    (sub)millimeter flux
      real*4        ddust       ! ? Dust depletion factor of inner disk
*                                    (delta dust)
      real*4        hc          ! ? Scale height at rc (h_c)
      character*3   psi         ! Flaring angle (psi)
      real*4        Ld_Ls       ! ? Disk luminosity over stellar luminosity
*                                    ratio (L_disk/L_*)
      character*2   Class       ! Classification disk (9)
*Note (1): Origin Spitzer data code as follows:
*  c2d    = Evans et al. (2009, Cat. J/ApJS/181/321)
*  GB     = Dunham et al. (2015, Cat. J/ApJS/220/11)
*  Taurus = Rebull et al. (2010, Cat. J/ApJS/186/259),
*           Luhman et al. (2010, Cat. J/ApJS/186/111L)
*  HREL   = IRSA HREL catalog
*  Other  = for {eta} Cham (IRAC), Megeath et al. (2005ApJ...634L.113M)
*           for {eta} Cham (MIPS), Sicilia-Aguilar et al. (2009ApJ...701.1188S)
*           for Cham I           , Luhman et al. (2008, Cat. J/ApJ/684/654)
*           for {lambda} Orionis , Hernandez et al. (2010, J/ApJ/722/1226)
*           for Orion            , Megeath et al. (2012, Cat. J/AJ/144/192)
*           for FEPS             , Carpenter et al. (2008ApJS..179..423C)
*Note (2): Previous literature classification as follows:
*  Im  = confirmed by interferometric imaging
*  PF  = Planet-forming disk
*  GG  = Grain-growth dominated disk
*  PE  = Photoevaportive disk
*  L   = low-infrared excess or anemic disk
*  H   = high-infrared excess
*  T   = T Tauri-like infrared excess
*  PTD = pretransitional disk
*  V   = seesaw variability
*Note (4): Derivation accretion flag as follows:
*  W = the accretion was derived using the Halpha line width
*  X = The accretion properties were derived using a full X-shooter
*       spectrum rather than only fitting the H-alpha line
*  N = The accretion properties were derived using other lines (e.g., Br-gamma).
*Note (6): Upper limit due to cloud confusion
*Note (9): Classification disk flag as follows:
*  NH = disk without holes
*  ML = massive disk with large cavity (rcav>10AU, Mdisk>5MJup)
*  MS = massive disk with small cavity (rcav<10AU, Mdisk>5MJup)
*  LL = low-mass disk with large cavity (rcav>10AU, Mdisk<5MJup)
*  LS = low-mass disk with small cavity (rcav<10AU, Mdisk<5MJup)
*  DD = low-mass disk with large cavity and low scale height
*          (rcav>100AU, Mdisk<5MJup, hc~0.01)

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

C  Declarations for 'refs.dat'	! References

      integer*4 nr__3
      parameter (nr__3=131)	! Number of records
      character*68 ar__3  	! Full-size record

      integer*4     Ref         ! Reference number
      character*19  BibCode     ! BibCode
      character*22  Aut         ! Author's name
      character*18  Com         ! Comments

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

C  Loading file 'apex.dat'	! Derived APEX photometry (table 4)

C  Format for file interpretation

    1 format(I3,2X,F4.2,2X,F4.2,1X,A1,1X,F5.1,1X,F5.1,1X,A1,2X,A1)

C  Effective file loading

      open(unit=1,status='old',file=
     +'apex.dat')
      write(6,*) '....Loading file: apex.dat'
      do i__=1,32
        read(1,'(A34)')ar__
        read(ar__,1)ID,F350,e_F350,l_F350,F870,e_F870,l_F870,cont
        if(ar__(6:9) .EQ. '') F350 = rNULL__
        if(ar__(12:15) .EQ. '') e_F350 = rNULL__
        if(ar__(19:23) .EQ. '') F870 = rNULL__
        if(ar__(25:29) .EQ. '') e_F870 = rNULL__
c    ..............Just test output...........
        write(6,1)ID,F350,e_F350,l_F350,F870,e_F870,l_F870,cont
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'jcmt.dat'	! Derived JCMT photometry (table 5)

C  Format for file interpretation

    2 format(I3,1X,F5.1,1X,F4.1,1X,A1,2X,A1)

C  Effective file loading

      open(unit=1,status='old',file=
     +'jcmt.dat')
      write(6,*) '....Loading file: jcmt.dat'
      do i__=1,40
        read(1,'(A19)')ar__1
        read(ar__1,2)ID_1,F850,e_F850,l_F850,cont_1
c    ..............Just test output...........
        write(6,2)ID_1,F850,e_F850,l_F850,cont_1
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'table.dat'	! Target properties (tables 8, A1-A3, C1, D1)

C  Format for file interpretation

    3 format(
     +  I3,1X,A20,1X,A17,1X,I2,1X,I2,1X,F5.2,2X,A1,I2,1X,I2,1X,F4.1,
     +  1X,A18,1X,I3,1X,A6,1X,A7,1X,A5,1X,A5,1X,A8,1X,I5,1X,F4.1,1X,
     +  F5.1,1X,F3.1,1X,F5.1,1X,I3,1X,A1,1X,A1,1X,A5,1X,F6.2,1X,F6.2,
     +  1X,A1,1X,F6.2,1X,F6.2,1X,A1,1X,F6.2,1X,F6.2,1X,A1,1X,A1,1X,I4,
     +  1X,I4,1X,A1,1X,I4,1X,I4,1X,A1,1X,I4,1X,I4,1X,A1,1X,I4,1X,I4,
     +  1X,A1,1X,I4,1X,I4,1X,F6.1,1X,F6.1,1X,A1,1X,F5.1,1X,F5.1,1X,A1,
     +  1X,A7,1X,A1,F5.3,1X,A1,F5.1,2X,I3,1X,I3,1X,I4,1X,I4,1X,E7.1,
     +  1X,F5.1,1X,F5.1,1X,A1,1X,E7.1,1X,F4.2,1X,A3,1X,F5.3,1X,A2)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table.dat')
      write(6,*) '....Loading file: table.dat'
      do i__=1,213
        read(1,'(A394)')ar__2
        read(ar__2,3)
     +  ID_2,Name,AName,RAh,RAm,RAs,DE_,DEd,DEm,DEs,Region,d,Color,
     +  Origin,PrevCl,r_PrevCl,SpType,Teff,Av,L_,M_,EW_Ha,FW10,Accret,
     +  Accder,r_Stel,PACS70,e_PACS70,l_PACS70,PACS100,e_PACS100,
     +  l_PACS100,PACS160,e_PACS160,l_PACS160,confPACS,S350,e_S350,
     +  l_S350,L870,e_L870,l_L870,SC450,e_SC450,l_SC450,SC850,e_SC850,
     +  l_SC850,SM880,e_SM880,Fl1300,e_Fl1300,l_Fl1300,Fl3300,
     +  e_Fl3300,l_Fl3300,r_Fl3300,l_Sep_as,Sep_as,l_Sep_AU,Sep_AU,
     +  r_mp,rcav,Brcav,brcav_1,Sigc,Mdiskfit,Mdiskmm,l_Mdiskmm,ddust,
     +  hc,psi,Ld_Ls,Class
        if (Teff .EQ. 45) Teff =  iNULL__
        if (idig(ar__2(134:137)).EQ.0) Av =  rNULL__
        if (idig(ar__2(139:143)).EQ.0) L_ =  rNULL__
        if (idig(ar__2(145:147)).EQ.0) M_ =  rNULL__
        if (idig(ar__2(149:153)).EQ.0) EW_Ha =  rNULL__
        if (FW10 .EQ. 45) FW10 =  iNULL__
        if(ar__2(169:174) .EQ. '') PACS70 = rNULL__
        if(ar__2(176:181) .EQ. '') e_PACS70 = rNULL__
        if(ar__2(185:190) .EQ. '') PACS100 = rNULL__
        if(ar__2(192:197) .EQ. '') e_PACS100 = rNULL__
        if(ar__2(201:206) .EQ. '') PACS160 = rNULL__
        if(ar__2(208:213) .EQ. '') e_PACS160 = rNULL__
        if(ar__2(219:222) .EQ. '') S350 = iNULL__
        if(ar__2(224:227) .EQ. '') e_S350 = iNULL__
        if(ar__2(231:234) .EQ. '') L870 = iNULL__
        if(ar__2(236:239) .EQ. '') e_L870 = iNULL__
        if(ar__2(243:246) .EQ. '') SC450 = iNULL__
        if(ar__2(248:251) .EQ. '') e_SC450 = iNULL__
        if(ar__2(255:258) .EQ. '') SC850 = iNULL__
        if(ar__2(260:263) .EQ. '') e_SC850 = iNULL__
        if(ar__2(267:270) .EQ. '') SM880 = iNULL__
        if(ar__2(272:275) .EQ. '') e_SM880 = iNULL__
        if(ar__2(277:282) .EQ. '') Fl1300 = rNULL__
        if(ar__2(284:289) .EQ. '') e_Fl1300 = rNULL__
        if(ar__2(293:297) .EQ. '') Fl3300 = rNULL__
        if(ar__2(299:303) .EQ. '') e_Fl3300 = rNULL__
        if (idig(ar__2(316:320)).EQ.0) Sep_as =  rNULL__
        if(ar__2(323:327) .EQ. '') Sep_AU = rNULL__
        if(ar__2(330:332) .EQ. '') r_mp = iNULL__
        if(ar__2(334:336) .EQ. '') rcav = iNULL__
        if(ar__2(338:341) .EQ. '') Brcav = iNULL__
        if(ar__2(343:346) .EQ. '') brcav_1 = iNULL__
        if(ar__2(348:354) .EQ. '') Sigc = rNULL__
        if(ar__2(356:360) .EQ. '') Mdiskfit = rNULL__
        if (idig(ar__2(362:366)).EQ.0) Mdiskmm =  rNULL__
        if(ar__2(370:376) .EQ. '') ddust = rNULL__
        if(ar__2(378:381) .EQ. '') hc = rNULL__
        if(ar__2(387:391) .EQ. '') Ld_Ls = rNULL__
        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,3)
     +  ID_2,Name,AName,RAh,RAm,RAs,DE_,DEd,DEm,DEs,Region,d,Color,
     +  Origin,PrevCl,r_PrevCl,SpType,Teff,Av,L_,M_,EW_Ha,FW10,Accret,
     +  Accder,r_Stel,PACS70,e_PACS70,l_PACS70,PACS100,e_PACS100,
     +  l_PACS100,PACS160,e_PACS160,l_PACS160,confPACS,S350,e_S350,
     +  l_S350,L870,e_L870,l_L870,SC450,e_SC450,l_SC450,SC850,e_SC850,
     +  l_SC850,SM880,e_SM880,Fl1300,e_Fl1300,l_Fl1300,Fl3300,
     +  e_Fl3300,l_Fl3300,r_Fl3300,l_Sep_as,Sep_as,l_Sep_AU,Sep_AU,
     +  r_mp,rcav,Brcav,brcav_1,Sigc,Mdiskfit,Mdiskmm,l_Mdiskmm,ddust,
     +  hc,psi,Ld_Ls,Class
        write(6,'(6H Pos: 2F8.4)') RAdeg,DEdeg
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'refs.dat'	! References

C  Format for file interpretation

    4 format(I3,1X,A19,1X,A22,4X,A18)

C  Effective file loading

      open(unit=1,status='old',file=
     +'refs.dat')
      write(6,*) '....Loading file: refs.dat'
      do i__=1,131
        read(1,'(A68)')ar__3
        read(ar__3,4)Ref,BibCode,Aut,Com
c    ..............Just test output...........
        write(6,4)Ref,BibCode,Aut,Com
c    .......End.of.Just test output...........
      end do
      close(1)

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

C Locate position of first digit in string; or return 0
      integer function idig(c)
      character*(*) c
      character*1 c1
      integer lc,i
      lc=len(c)
      idig=0
      do i=1,lc
         if(c(i:i).ne.' ') go to 1
      end do
    1 if(i.gt.lc) return
      c1=c(i:i)
      if(c1.eq.'.'.or.c1.eq.'-'.or.c1.eq.'+') i=i+1
      if(i.gt.lc) return
      c1=c(i:i)
      if(c1.ge.'0'.and.c1.le.'9') idig=i
      return
      end