FORTRAN Generation
(/./ftp/cats/V/160)

Conversion of standardized ReadMe file for file /./ftp/cats/V/160 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-Oct-14
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. V/160                  SHBoost 2024                           (Khalatyan+, 2024)
*================================================================================
*Transferring spectroscopic stellar labels to 217 million Gaia DR3 XP stars
*with SHBoost.
*    Khalatyan A., Anders F., Chiappini C., Queiroz A.B.A., Nepal S.,
*    dal Ponte M., Jordi C., Guiglion G., Valentini M., Torralba Elipe G.,
*    Steinmetz M., Pantaleoni-Gonzalez M., Malhotra S., Jimenez-Arranz O.,
*    Enke H., Casamiquela L., Ardevol J.
*    <Astron. Astrophys. 691, A98 (2024)>
*    =2024A&A...691A..98K        (SIMBAD/NED BibCode)
*    =2024yCat.5160....0K
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for 'shboost.sam'	! Data model of the Gaia DR3 SHBoost catalogue

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

C  Position composed of: RAdeg DEdeg (Epoch=2016.0)
      integer*8     GaiaDR3     ! Gaia DR3 source_id (source_id)
      real*8        RAdeg       ! (deg) Right ascension (ICRS) at Ep=2016.0 (ra)
      real*8        DEdeg       ! (deg) Declination (ICRS) at Ep=2016 (dec)
      real*8        AV          ! (mag) Line-of-sight extinction at
*                                       {lambda}=5420{AA}, AV, xgboost point
*                                       estimate (xgb_av)
      real*8        AVmean      ! (mag) Line-of-sight extinction at
*                                       {lambda}=5420{AA}, AV,
*                                       xgboost-distribution mean value
*                                       (xgbdist_av_mean)
      real*8        s_AVmean    ! (mag) Line-of-sight extinction at
*                                       {lambda}=5420{AA}, AV,
*                                       xgboost-distribution standard deviation
*                                       (xgbdist_av_std)
      real*8        logTeff     ! ([K]) Effective temperature, xgboost point
*                                       estimate (xgb_logteff)
      real*8        logTeffmean ! ([K]) Effective temperature,
*                                       xgboost-distribution mean value
*                                       (xgbdist_logteff_mean)
      real*8        s_logTeffmean ! ([K]) Effective temperature,
*                                       xgboost-distribution standard deviation
*                                       (xgbdist_logteff_std)
      real*8        logg        ! ([cm/s2]) Surface gravity, xgboost point estimate
*                                       (xgb_logg)
      real*8        loggmean    ! ([cm/s2]) Surface gravity, xgboost-distribution
*                                       mean value (xgbdist_logg_mean)
      real*8        s_loggmean  ! ([cm/s2]) Surface gravity, xgboost-distribution
*                                       standard deviation (xgbdist_logg_std)
      real*8        Met         ! ([-]) Metallicity, xgboost point estimate
*                                       (xgb_met)
      real*8        Metmean     ! ([-]) Metallicity, xgboost-distribution
*                                       mean value (xgbdist_met_mean)
      real*8        s_Metmean   ! ([-]) Metallicity, xgboost-distribution
*                                       standard deviation (xgbdist_met_std)
      real*8        Mass        ! (Msun) Stellar mass, xgboost point estimate
*                                       (xgb_mass)
      real*8        Massmean    ! (Msun) Stellar mass, xgboost-distribution
*                                       mean value (xgbdist_mass_mean)
      real*4        s_Massmean  ! (Msun) Stellar mass, xgboost-distribution
*                                       standard deviation (xgbdist_mass_std)
      real*8        Dist        ! (pc) Distance estimate from the literature
*                                       (dist)
      real*8        b_Dist      ! (pc) ? 16th distance percentile from the
*                                       literature (dist_lower)
      real*8        B_Dist_1    ! (pc) ? 84th distance percentile from the
*                                       literature (dist_upper)
      integer*4     f_Dist      ! [0/2] Distance flag (dist_flag) (1)
      real*8        v_BP_RP_0   ! (mag) ? Dereddened colour, derived with
*                                       gaia_edr3_photutils (bprp0)
      real*8        GMAG0       ! (mag) Absolute magnitude, derived with
*                                       gaia_edr3_photutils (mg0)
      real*8        Xgal        ! (kpc) Galactocentric Cartesian X coordinate,
*                                       derived from dist and assuming
*                                       X0 = -8.2 kpc (xg)
      real*8        Ygal        ! (kpc) Galactocentric Cartesian Y coordinate,
*                                       derived from dist and assuming
*                                       X0 = 0 kpc (yg)
      real*8        Zgal        ! (kpc) Cartesian Z coordinate, derived from dist
*                                       and assuming Z0 = 0 (zg)
      real*8        Rgal        ! (kpc) Galactocentric planar distance,
*                                       derived from XGal and YGal (rg)
      real*8        VX          ! (km/s) ? Galactic Cartesian velocity in
*                                       X direction (vxg)
      real*8        VY          ! (km/s) ? Galactic Cartesian velocity in
*                                       Y direction (vyg)
      real*8        VZ          ! (km/s) ? Galactic Cartesian velocity in
*                                       Z direction (vzg)
      real*8        VR          ! (km/s) ? Galactic radial velocity (vrg)
      real*8        Vphi        ! (km/s) ? Galactic angular velocity (vphig)
      character*21  InputFlag   ! SHBoost input flag (xgb_inputflag)
      integer*4     q_AV        ! [0/1] AV output quality flag
*                                       (=0 if xgbdist_av_std<0.3)
*                                       (xgb_av_outputflag)
      integer*4     q_logTeff   ! [0/1] logTeff output quality flag
*                                       (=0 if xgbdist_logteff_std<0.1)
*                                       (xgb_logteff_outputflag)
      integer*4     q_logg      ! [0/1] logg output quality flag
*                                       (=0 if xgbdist_logg_std<0.3)
*                                       (xgb_logg_outputflag)
      integer*4     q_Met       ! [0/1] [M/H] output quality flag
*                                       (=0 if xgbdist_met_std<0.3)
*                                       (xgb_met_outputflag)
      integer*4     q_Mass      ! [0/1]  Mass output quality flag (=0 if
*                                       xgbdist_mass_std/xgbdist_mass_mean<0.3)
*                                       (xgb_mass_outputflag)
*Note (1): Distance flag as follows:
*           0 = StarHorse EDR3, Anders et al., 2022A&A...658A..91A, Cat. I/354
*           1 = Bailer-Jones et al. 2021AJ....161..147B, Cat. I/352, photogeo
*           2 - Bailer-Jones et al. 2021AJ....161..147B, Cat. I/352, geo

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

C  Loading file 'shboost.sam'	! Data model of the Gaia DR3 SHBoost catalogue

C  Format for file interpretation

    1 format(
     +  I19,1X,F15.11,1X,F15.11,1X,F9.6,1X,F9.6,1X,F11.6,1X,F8.6,1X,
     +  F8.6,1X,F9.6,1X,F9.6,1X,F9.6,1X,F10.6,1X,F9.6,1X,F9.6,1X,F9.6,
     +  1X,F9.6,1X,F9.6,1X,E12.6,1X,F10.6,1X,F10.6,1X,F10.6,1X,I1,1X,
     +  F8.5,1X,F9.5,1X,F10.5,1X,F10.5,1X,F10.5,1X,F9.5,1X,F10.4,1X,
     +  F10.4,1X,F11.4,1X,F10.4,1X,F10.4,1X,A21,1X,I1,1X,I1,1X,I1,1X,
     +  I1,1X,I1)

C  Effective file loading

      open(unit=1,status='old',file=
     +'shboost.sam')
      write(6,*) '....Loading file: shboost.sam'
      do i__=1,1000
        read(1,'(A390)')ar__
        read(ar__,1)
     +  GaiaDR3,RAdeg,DEdeg,AV,AVmean,s_AVmean,logTeff,logTeffmean,
     +  s_logTeffmean,logg,loggmean,s_loggmean,Met,Metmean,s_Metmean,
     +  Mass,Massmean,s_Massmean,Dist,b_Dist,B_Dist_1,f_Dist,
     +  v_BP_RP_0,GMAG0,Xgal,Ygal,Zgal,Rgal,VX,VY,VZ,VR,Vphi,
     +  InputFlag,q_AV,q_logTeff,q_logg,q_Met,q_Mass
        if(ar__(218:227) .EQ. '') b_Dist = rNULL__
        if(ar__(229:238) .EQ. '') B_Dist_1 = rNULL__
        if(ar__(242:249) .EQ. '') v_BP_RP_0 = rNULL__
        if(ar__(304:313) .EQ. '') VX = rNULL__
        if(ar__(315:324) .EQ. '') VY = rNULL__
        if(ar__(326:336) .EQ. '') VZ = rNULL__
        if(ar__(338:347) .EQ. '') VR = rNULL__
        if(ar__(349:358) .EQ. '') Vphi = rNULL__
c    ..............Just test output...........
        write(6,1)
     +  GaiaDR3,RAdeg,DEdeg,AV,AVmean,s_AVmean,logTeff,logTeffmean,
     +  s_logTeffmean,logg,loggmean,s_loggmean,Met,Metmean,s_Metmean,
     +  Mass,Massmean,s_Massmean,Dist,b_Dist,B_Dist_1,f_Dist,
     +  v_BP_RP_0,GMAG0,Xgal,Ygal,Zgal,Rgal,VX,VY,VZ,VR,Vphi,
     +  InputFlag,q_AV,q_logTeff,q_logg,q_Met,q_Mass
c    .......End.of.Just test output...........
      end do
      close(1)

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