XMM-Newton SAS Home Page
XMM-Newton Science Analysis System


ssclib (ssclib-4.36.1) [xmmsas_20230412_1735-21.0.0]


readColDataToFixed

This is similar in intention to readArrayData (subsection 7.2). The interface below covers most combinations.

  interface readColDataToFixed
    subroutine readColToFixedNameReal32(tab, colName, colData)
      type(TableT), intent(in)  :: tab
      character(*), intent(in)  :: colName
      real(single), intent(out) :: colData(:)
    end subroutine readColToFixedNameReal32

    subroutine readColToFixedNameReal64(tab, colName, colData)
      type(TableT), intent(in)  :: tab
      character(*), intent(in)  :: colName
      real(double), intent(out) :: colData(:)
    end subroutine readColToFixedNameReal64

    subroutine readColToFixedNameInt8(tab, colName, colData)
      type(TableT),  intent(in)  :: tab
      character(*),  intent(in)  :: colName
      integer(int8), intent(out) :: colData(:)
    end subroutine readColToFixedNameInt8

    subroutine readColToFixedNameInt16(tab, colName, colData)
      type(TableT),   intent(in)  :: tab
      character(*),   intent(in)  :: colName
      integer(int16), intent(out) :: colData(:)
    end subroutine readColToFixedNameInt16

    subroutine readColToFixedNameInt32(tab, colName, colData)
      type(TableT),   intent(in)  :: tab
      character(*),   intent(in)  :: colName
      integer(int32), intent(out) :: colData(:)
    end subroutine readColToFixedNameInt32

    subroutine readColToFixedNameStr(tab, colName, colData)
      type(TableT),  intent(in)  :: tab
      character(*),  intent(in)  :: colName
      character(*),  intent(out) :: colData(:)
    end subroutine readColToFixedNameStr

    subroutine readColToFixedNameBool(tab, colName, colData)
      type(TableT),  intent(in)  :: tab
      character(*),  intent(in)  :: colName
      logical(bool), intent(out) :: colData(:)
    end subroutine readColToFixedNameBool

    subroutine readColToFixedCol2dReal32(col, colData)
      type(ColumnT), intent(in)  :: col
      real(single),  intent(out) :: colData(:,:)
    end subroutine readColToFixedCol2dReal32

    subroutine readColToFixedCol2dReal64(col, colData)
      type(ColumnT), intent(in)  :: col
      real(double),  intent(out) :: colData(:,:)
    end subroutine readColToFixedCol2dReal64

    subroutine readColToFixedColReal32(col, colData)
      type(ColumnT), intent(in)  :: col
      real(single),  intent(out) :: colData(:)
    end subroutine readColToFixedColReal32

    subroutine readColToFixedColReal64(col, colData)
      type(ColumnT), intent(in)  :: col
      real(double),  intent(out) :: colData(:)
    end subroutine readColToFixedColReal64

    subroutine readColToFixedColInt8(col, colData)
      type(ColumnT), intent(in)  :: col
      integer(int8), intent(out) :: colData(:)
    end subroutine readColToFixedColInt8

    subroutine readColToFixedColInt16(col, colData)
      type(ColumnT),  intent(in)  :: col
      integer(int16), intent(out) :: colData(:)
    end subroutine readColToFixedColInt16

    subroutine readColToFixedColInt32(col, colData)
      type(ColumnT),  intent(in)  :: col
      integer(int32), intent(out) :: colData(:)
    end subroutine readColToFixedColInt32

    subroutine readColToFixedColStr(col, colData)
      type(ColumnT), intent(in)  :: col
      character(*),  intent(out) :: colData(:)
    end subroutine readColToFixedColStr

    subroutine readColToFixedColBool(col, colData)
      type(ColumnT), intent(in)  :: col
      logical(bool), intent(out) :: colData(:)
    end subroutine readColToFixedColBool
  end interface

The rules for conversion between datatypes are the same as for readArrayData (subsection 7.2). There is at present no conversion between non-string data and a string-valued `colData' argument.

Note that the argument `colData' is NOT a pointer and thus should be made the same size as the column to be read in the calling program.



XMM-Newton SOC -- 2023-04-16