FORTRAN Generation
(/./ftp/cats/J/A_A/702/A79)

Conversion of standardized ReadMe file for file /./ftp/cats/J/A_A/702/A79 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 2026-Jun-08
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/702/A79       Near-IR photometry of CSPNe with VVVX       (Minniti+, 2025)
*================================================================================
*Near-IR photometry of the central stars of planetary nebulae with the
*VVVX survey.
*    Minniti D., Fragkou V., Alonso-Garcia J., Majaess D., Cortesi A.
*    <Astron. Astrophys. 702, A79 (2025)>
*    =2025A&A...702A..79M        (SIMBAD/NED BibCode)
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for 'tablea1.dat'	! VVV+VVVX near-IR photometry of the CSPNe
                                 identified by Gonzalez-Santamaria et al.
                                 (2021A&A...656A..51G,. Cat. J/A+A/656/A51)

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

C  J2000 position composed of: RAdeg DEdeg
      character*15  PN         (nr__) ! Planetary Nebula identifier (PN GLLL.l+BB.b)
      real*8        RAdeg      (nr__) ! (deg) Right Ascension (J2000)
      real*8        DEdeg      (nr__) ! (deg) Declination (J2000)
      real*4        Gmag       (nr__) ! (mag) ?=- Gaia G-band magnitude
      real*4        BP_RP      (nr__) ! (mag) ?=- Gaia BP-RP color
      real*4        Zmag       (nr__) ! (mag) ?=- Z-band magnitude
      real*4        e_Zmag     (nr__) ! (mag) ?=- Error in Z_mag
      real*4        Ymag       (nr__) ! (mag) ?=- Y-band magnitude
      real*4        e_Ymag     (nr__) ! (mag) ?=- Error in Y_mag
      real*4        Jmag       (nr__) ! (mag) ?=- J-band magnitude
      real*4        e_Jmag     (nr__) ! (mag) ?=- Error in J_mag
      real*4        Hmag       (nr__) ! (mag) ?=- H-band magnitude
      real*4        e_Hmag     (nr__) ! (mag) ?=- Error in H_mag
      real*4        Ksmag      (nr__) ! (mag) ?=- Ks-band magnitude
      real*4        e_Ksmag    (nr__) ! (mag) ?=- Error in Ks_mag
      character*1   Group      (nr__) ! [ABC] Gonzalez-Santamaria et al.
*                                   (2021A&A...656A..51G,. Cat. J/A+A/656/A51)
*                                   group classification
      character*1   MType      (nr__) ! [ABEIRS-] Parker et al. (2016JPhCS.728c2008P)
*                                   morphological classification
      character*5   Dang       (nr__) ! (arcsec) ?=- PN major diameter

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

C  Loading file 'tablea1.dat'	! VVV+VVVX near-IR photometry of the CSPNe
*                                 identified by Gonzalez-Santamaria et al.
*                                 (2021A&A...656A..51G,. Cat. J/A+A/656/A51)

C  Format for file interpretation

    1 format(
     +  A15,1X,F8.4,1X,F8.4,1X,F5.2,1X,F5.2,1X,F6.3,1X,F5.3,1X,F6.3,
     +  1X,F5.3,1X,F6.3,1X,F5.3,1X,F6.3,1X,F5.3,1X,F6.3,1X,F5.3,1X,A1,
     +  1X,A1,1X,A5)

C  Effective file loading

      open(unit=1,status='old',file=
     +'tablea1.dat')
      write(6,*) '....Loading file: tablea1.dat'
      do i__=1,1274
        read(1,'(A120)')ar__
        read(ar__,1)
     +  PN(i__),RAdeg(i__),DEdeg(i__),Gmag(i__),BP_RP(i__),Zmag(i__),
     +  e_Zmag(i__),Ymag(i__),e_Ymag(i__),Jmag(i__),e_Jmag(i__),
     +  Hmag(i__),e_Hmag(i__),Ksmag(i__),e_Ksmag(i__),Group(i__),
     +  MType(i__),Dang(i__)
        if (idig(ar__(35:39)).EQ.0) Gmag(i__) =  rNULL__
        if (idig(ar__(41:45)).EQ.0) BP_RP(i__) =  rNULL__
        if (idig(ar__(47:52)).EQ.0) Zmag(i__) =  rNULL__
        if (idig(ar__(54:58)).EQ.0) e_Zmag(i__) =  rNULL__
        if (idig(ar__(60:65)).EQ.0) Ymag(i__) =  rNULL__
        if (idig(ar__(67:71)).EQ.0) e_Ymag(i__) =  rNULL__
        if (idig(ar__(73:78)).EQ.0) Jmag(i__) =  rNULL__
        if (idig(ar__(80:84)).EQ.0) e_Jmag(i__) =  rNULL__
        if (idig(ar__(86:91)).EQ.0) Hmag(i__) =  rNULL__
        if (idig(ar__(93:97)).EQ.0) e_Hmag(i__) =  rNULL__
        if (idig(ar__(99:104)).EQ.0) Ksmag(i__) =  rNULL__
        if (idig(ar__(106:110)).EQ.0) e_Ksmag(i__) =  rNULL__
c    ..............Just test output...........
        write(6,1)
     +  PN(i__),RAdeg(i__),DEdeg(i__),Gmag(i__),BP_RP(i__),Zmag(i__),
     +  e_Zmag(i__),Ymag(i__),e_Ymag(i__),Jmag(i__),e_Jmag(i__),
     +  Hmag(i__),e_Hmag(i__),Ksmag(i__),e_Ksmag(i__),Group(i__),
     +  MType(i__),Dang(i__)
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