astro py:docs

- Index
- Modules

### Navigation

- next »
- « previous |
- Astropy v5.2.1 »
- Miscellaneous: HDF5, YAML, ASDF, Parquet, pickle (`astropy.io.misc`) »
- Schemas

# Schemas

Documentation for each of the individual ASDF schemas defined by `astropy` can be found at the links below.

Documentation for the schemas defined in the ASDF Standard can be found here.

## Coordinates

The following schemas are associated with `astropy` types from the Astronomical Coordinate Systems (astropy.coordinates) submodule:

### coordinates/angle-1.0.0

    %YAML 1.1
    ---
    $schema: "http://stsci.edu/schemas/yaml-schema/draft-01"
    id: "http://astropy.org/schemas/astropy/coordinates/angle-1.0.0"
    tag: "tag:astropy.org:astropy/coordinates/angle-1.0.0"

    title: |
      Represents an Angle.

    description:
      This object represents a subtype of Quantity which has units equivalent to
      radians or degrees.

    examples:
      -
        - An Angle object in Degrees
        - |
            !<tag:astropy.org:astropy/coordinates/angle-1.0.0>
              unit: !unit/unit-1.0.0 deg
              value: 10.0

    type: object
    properties:
      value:
        description: |
          A vector of one or more values
        anyOf:
          - type: number
          - $ref: "tag:stsci.edu:asdf/core/ndarray-1.0.0"
      unit:
        description: |
          The unit corresponding to the values
        $ref: "tag:stsci.edu:asdf/unit/unit-1.0.0"
    required: [value, unit]
    ...

### coordinates/earthlocation-1.0.0

    %YAML 1.1
    ---
    $schema: "http://stsci.edu/schemas/yaml-schema/draft-01"
    id: "http://astropy.org/schemas/astropy/coordinates/earthlocation-1.0.0"
    tag: "tag:astropy.org:astropy/coordinates/earthlocation-1.0.0"

    title: |
      Represents EarthLocation objects from astropy.

    description: |
      Location on the Earth.

    type: object
    properties:
      x:
        description: |
          X component of location in geocentric representation
        $ref: "tag:stsci.edu:asdf/unit/quantity-1.1.0"
      y:
        description: |
          Y component of location in geocentric representation
        $ref: "tag:stsci.edu:asdf/unit/quantity-1.1.0"
      z:
        description: |
          Z component of location in geocentric representation
        $ref: "tag:stsci.edu:asdf/unit/quantity-1.1.0"
      ellipsoid:
        description: |
          Reference ellipsoid that is used when representing geodetic coordinates.
        type: string
        enum: [WGS84, GRS80, WGS72]

    required: [x, y, z]
    additionalProperties: False
    ...

### coordinates/latitude-1.0.0

    %YAML 1.1
    ---
    $schema: "http://stsci.edu/schemas/yaml-schema/draft-01"
    id: "http://astropy.org/schemas/astropy/coordinates/latitude-1.0.0"
    tag: "tag:astropy.org:astropy/coordinates/latitude-1.0.0"

    title: |
      Represents latitude-like angles.

    description: |
      Represents latitude-like angle(s) which must be in the range -90 to +90 deg.

    examples:
      -
        - A Latitude object in Degrees
        - |
            !<tag:astropy.org:astropy/coordinates/latitude-1.0.0>
              unit: !unit/unit-1.0.0 deg
              value: 10.0

    type: object
    properties:
      value:
        description: |
          A vector of one or more values
        anyOf:
          - type: number
          - $ref: "tag:stsci.edu:asdf/core/ndarray-1.0.0"
      unit:
        description: |
          The unit corresponding to the values
        $ref: "tag:stsci.edu:asdf/unit/unit-1.0.0"
    required: [value, unit]
    ...

### coordinates/longitude-1.0.0

    %YAML 1.1
    ---
    $schema: "http://stsci.edu/schemas/yaml-schema/draft-01"
    id: "http://astropy.org/schemas/astropy/coordinates/longitude-1.0.0"
    tag: "tag:astropy.org:astropy/coordinates/longitude-1.0.0"

    title: |
      Represents longitude-like angles.

    description: |
        Longitude-like angle(s) which are wrapped within a contiguous 360 degree range.

    examples:
      -
        - A Longitude object in Degrees
        - |
            !<tag:astropy.org:astropy/coordinates/longitude-1.0.0>
              unit: !unit/unit-1.0.0 deg
              value: 10.0
              wrap_angle: !<tag:astropy.org:astropy/coordinates/angle-1.0.0>
                unit: !unit/unit-1.0.0 deg
                value: 180.0

    type: object
    properties:
      value:
        description: |
          A vector of one or more values
        anyOf:
          - type: number
          - $ref: "tag:stsci.edu:asdf/core/ndarray-1.0.0"
      unit:
        description: |
          The unit corresponding to the values
        $ref: "tag:stsci.edu:asdf/unit/unit-1.0.0"
      wrap_angle:
        description: |
          Angle at which to wrap back to ``wrap_angle - 360 deg``.
        $ref: "angle-1.0.0"

    required: [value, unit, wrap_angle]
    ...

### coordinates/representation-1.0.0

    %YAML 1.1
    ---
    $schema: "http://stsci.edu/schemas/yaml-schema/draft-01"
    id: "http://astropy.org/schemas/astropy/coordinates/representation-1.0.0"
    tag: "tag:astropy.org:astropy/coordinates/representation-1.0.0"

    title: |
      Representation of points or differentials in two or three dimensional space.

    description: |
      Representation of points or differentials in two or three dimensional space.

    examples:
      -
        - A SphericalRepresentation
        - |
            !<tag:astropy.org:astropy/coordinates/representation-1.0.0>
              components:
                distance: !unit/quantity-1.1.0 {unit: !unit/unit-1.0.0 AU, value: 1.0}
                lat: !<tag:astropy.org:astropy/coordinates/latitude-1.0.0> {unit: !unit/unit-1.0.0 deg,
                  value: 10.0}
                lon: !<tag:astropy.org:astropy/coordinates/longitude-1.0.0>
                  unit: !unit/unit-1.0.0 deg
                  value: 10.0
                  wrap_angle: !<tag:astropy.org:astropy/coordinates/angle-1.0.0> {unit: !unit/unit-1.0.0 deg,
                    value: 360.0}
              type: SphericalRepresentation
      -
        - A CartesianDifferential
        - |
            !<tag:astropy.org:astropy/coordinates/representation-1.0.0>
              components:
                d_x: !unit/quantity-1.1.0 {unit: !unit/unit-1.0.0 km s-1, value: 100.0}
                d_y: !unit/quantity-1.1.0 {unit: !unit/unit-1.0.0 km s-1, value: 200.0}
                d_z: !unit/quantity-1.1.0 {unit: !unit/unit-1.0.0 km s-1, value: 3141.0}
              type: CartesianDifferential

    type: object
    properties:
      type:
        type: string
        enum:
          - CartesianRepresentation
          - SphericalRepresentation
          - UnitSphericalRepresentation
          - RadialRepresentation
          - PhysicsSphericalRepresentation
          - CylindricalRepresentation
          - CartesianDifferential
          - SphericalDifferential
          - UnitSphericalCosLatDifferential
          - UnitSphericalDifferential
          - SphericalCosLatDifferential
          - RadialDifferential
          - PhysicsSphericalDifferential
          - CylindricalDifferential

      components:
        anyOf:
          # CartesianRepresentation
          - type: object
            properties:
              x:
                $ref: "tag:stsci.edu:asdf/unit/quantity-1.1.0"
              y:
                $ref: "tag:stsci.edu:asdf/unit/quantity-1.1.0"
              z:
                $ref: "tag:stsci.edu:asdf/unit/quantity-1.1.0"

          # SphericalRepresentation
          - type: object
            properties:
              lat:
                $ref: "latitude-1.0.0"
              lon:
                $ref: "longitude-1.0.0"
              distance:
                $ref: "tag:stsci.edu:asdf/unit/quantity-1.1.0"

          # UnitSphericalRepresentation
          - type: object
            properties:
              lat:
                $ref: "latitude-1.0.0"
              lon:
                $ref: "longitude-1.0.0"

          # RadialRepresentation
          - type: object
            properties:
              distance:
                $ref: "tag:stsci.edu:asdf/unit/quantity-1.1.0"

          # PhysicsSphericalRepresentation
          - type: object
            properties:
              phi:
                $ref: "angle-1.0.0"
              theta:
                $ref: "angle-1.0.0"
              r:
                $ref: "tag:stsci.edu:asdf/unit/quantity-1.1.0"

          # CylindricalRepresentation
          - type: object
            properties:
              rho:
                $ref: "tag:stsci.edu:asdf/unit/quantity-1.1.0"
              phi:
                $ref: "angle-1.0.0"
              z:
                $ref: "tag:stsci.edu:asdf/unit/quantity-1.1.0"

          # CartesianDifferential
          - type: object
            properties:
              d_x:
                $ref: "tag:stsci.edu:asdf/unit/quantity-1.1.0"
              d_y:
                $ref: "tag:stsci.edu:asdf/unit/quantity-1.1.0"
              d_z:
                $ref: "tag:stsci.edu:asdf/unit/quantity-1.1.0"

          # SphericalDifferential
          - type: object
            properties:
              d_lon:
                $ref: "tag:stsci.edu:asdf/unit/quantity-1.1.0"
              d_lat:
                $ref: "tag:stsci.edu:asdf/unit/quantity-1.1.0"
              d_distance:
                $ref: "tag:stsci.edu:asdf/unit/quantity-1.1.0"

          # UnitSphericalCosLatDifferential
          - type: object
            properties:
              d_lon_coslat:
                $ref: "tag:stsci.edu:asdf/unit/quantity-1.1.0"
              d_lat:
                $ref: "tag:stsci.edu:asdf/unit/quantity-1.1.0"

          # UnitSphericalDifferential
          - type: object
            properties:
              d_lon:
                $ref: "tag:stsci.edu:asdf/unit/quantity-1.1.0"
              d_lat:
                $ref: "tag:stsci.edu:asdf/unit/quantity-1.1.0"

          # SphericalCosLatDifferential
          - type: object
            properties:
              d_lon_coslat:
                $ref: "tag:stsci.edu:asdf/unit/quantity-1.1.0"
              d_lat:
                $ref: "tag:stsci.edu:asdf/unit/quantity-1.1.0"
              d_distance:
                $ref: "tag:stsci.edu:asdf/unit/quantity-1.1.0"

          # SphericalDifferential
          - type: object
            properties:
              d_lon:
                $ref: "tag:stsci.edu:asdf/unit/quantity-1.1.0"
              d_lat:
                $ref: "tag:stsci.edu:asdf/unit/quantity-1.1.0"
              d_distance:
                $ref: "tag:stsci.edu:asdf/unit/quantity-1.1.0"

          # RadialDifferential
          - type: object
            properties:
              d_phi:
                $ref: "tag:stsci.edu:asdf/unit/quantity-1.1.0"
              d_theta:
                $ref: "tag:stsci.edu:asdf/unit/quantity-1.1.0"
              d_r:
                $ref: "tag:stsci.edu:asdf/unit/quantity-1.1.0"

          # PhysicsSphericalDifferential
          - type: object
            properties:
              d_phi:
                $ref: "tag:stsci.edu:asdf/unit/quantity-1.1.0"
              d_theta:
                $ref: "tag:stsci.edu:asdf/unit/quantity-1.1.0"
              d_r:
                $ref: "tag:stsci.edu:asdf/unit/quantity-1.1.0"

          # RadialDifferential
          - type: object
            properties:
              d_distance:
                $ref: "tag:stsci.edu:asdf/unit/quantity-1.1.0"

          # CylindricalDifferential
          - type: object
            properties:
              d_rho:
                $ref: "tag:stsci.edu:asdf/unit/quantity-1.1.0"
              d_phi:
                $ref: "tag:stsci.edu:asdf/unit/quantity-1.1.0"
              d_z:
                $ref: "tag:stsci.edu:asdf/unit/quantity-1.1.0"

    required: [type, components]
    ...

### coordinates/skycoord-1.0.0

    %YAML 1.1
    ---
    $schema: "http://stsci.edu/schemas/yaml-schema/draft-01"
    id: "http://astropy.org/schemas/astropy/coordinates/skycoord-1.0.0"
    tag: "tag:astropy.org:astropy/coordinates/skycoord-1.0.0"

    title: |
      Represents a SkyCoord object from astropy

    allOf:
      - type: object
        properties:
          frame:
            description: |
              A string describing the kind of frame that is represented by this
              SkyCoord object. This value is used when reconstructing SkyCoord.
            type: string
    required: [frame]
    additionalProperties: true
    ...

## FITS

The following schemas are associated with `astropy` types from the FITS File Handling (astropy.io.fits) submodule:

### fits/fits-1.0.0

    %YAML 1.1
    ---
    $schema: "http://stsci.edu/schemas/yaml-schema/draft-01"
    id: "http://astropy.org/schemas/astropy/fits/fits-1.0.0"
    title: >
      A FITS file inside of an ASDF file.
    description: |
      This schema is useful for distributing ASDF files that can
      automatically be converted to FITS files by specifying the exact
      content of the resulting FITS file.

      Not all kinds of data in FITS are directly representable in ASDF.
      For example, applying an offset and scale to the data using the
      `BZERO` and `BSCALE` keywords.  In these cases, it will not be
      possible to store the data in the native format from FITS and also
      be accessible in its proper form in the ASDF file.

      Only image and binary table extensions are supported.

    examples:
      -
        - A simple FITS file with a primary header and two extensions
        - |
            !<tag:astropy.org:astropy/fits/fits-1.0.0>
                - header:
                  - [SIMPLE, true, conforms to FITS standard]
                  - [BITPIX, 8, array data type]
                  - [NAXIS, 0, number of array dimensions]
                  - [EXTEND, true]
                  - []
                  - ['', Top Level MIRI Metadata]
                  - []
                  - [DATE, '2013-08-30T10:49:55.070373', The date this file was created (UTC)]
                  - [FILENAME, MiriDarkReferenceModel_test.fits, The name of the file]
                  - [TELESCOP, JWST, The telescope used to acquire the data]
                  - []
                  - ['', Information about the observation]
                  - []
                  - [DATE-OBS, '2013-08-30T10:49:55.000000', The date the observation was made (UTC)]
                - data: !core/ndarray-1.0.0
                    datatype: float32
                    shape: [2, 3, 3, 4]
                    source: 0
                    byteorder: big
                  header:
                  - [XTENSION, IMAGE, Image extension]
                  - [BITPIX, -32, array data type]
                  - [NAXIS, 4, number of array dimensions]
                  - [NAXIS1, 4]
                  - [NAXIS2, 3]
                  - [NAXIS3, 3]
                  - [NAXIS4, 2]
                  - [PCOUNT, 0, number of parameters]
                  - [GCOUNT, 1, number of groups]
                  - [EXTNAME, SCI, extension name]
                  - [BUNIT, DN, Units of the data array]
                - data: !core/ndarray-1.0.0
                    datatype: float32
                    shape: [2, 3, 3, 4]
                    source: 1
                    byteorder: big
                  header:
                  - [XTENSION, IMAGE, Image extension]
                  - [BITPIX, -32, array data type]
                  - [NAXIS, 4, number of array dimensions]
                  - [NAXIS1, 4]
                  - [NAXIS2, 3]
                  - [NAXIS3, 3]
                  - [NAXIS4, 2]
                  - [PCOUNT, 0, number of parameters]
                  - [GCOUNT, 1, number of groups]
                  - [EXTNAME, ERR, extension name]
                  - [BUNIT, DN, Units of the error array]

    allOf:
      - tag: "tag:astropy.org:astropy/fits/fits-1.0.0"
      - type: array
        items:
          type: object
          properties:
            data:
              description: "The data part of the HDU."
              anyOf:
                - $ref: "tag:stsci.edu:asdf/core/ndarray-1.0.0"
                - $ref: "../table/table-1.0.0"
                # Retain backwards compatibility with table defined by ASDF Standard
                - $ref: "tag:stsci.edu:asdf/core/table-1.0.0"
                - type: "null"
              default: null

## Table

The following schemas are associated with `astropy` types from the Data Tables (astropy.table) submodule:

### table/table-1.0.0

    %YAML 1.1
    ---
    $schema: "http://stsci.edu/schemas/yaml-schema/draft-01"
    id: "http://astropy.org/schemas/astropy/table/table-1.0.0"
    tag: "tag:astropy.org:astropy/table/table-1.0.0"

    title: >
      A table.

    description: |
      A table is represented as a list of columns, where each entry is a
      [column](ref:http://stsci.edu/schemas/asdf/core/column-1.0.0)
      object, containing the data and some additional information.

      The data itself may be stored inline as text, or in binary in either
      row- or column-major order by use of the `strides` property on the
      individual column arrays.

      Each column in the table must have the same first (slowest moving)
      dimension.

    examples:
      -
        - A table stored in column-major order, with each column in a separate block
        - |
            !<tag:astropy.org:astropy/table/table-1.0.0>
              columns:
              - !core/column-1.0.0
                data: !core/ndarray-1.0.0
                  source: 0
                  datatype: float64
                  byteorder: little
                  shape: [3]
                description: RA
                meta: {foo: bar}
                name: a
                unit: !unit/unit-1.0.0 deg
              - !core/column-1.0.0
                data: !core/ndarray-1.0.0
                  source: 1
                  datatype: float64
                  byteorder: little
                  shape: [3]
                description: DEC
                name: b
              - !core/column-1.0.0
                data: !core/ndarray-1.0.0
                  source: 2
                  datatype: [ascii, 1]
                  byteorder: big
                  shape: [3]
                description: The target name
                name: c
              colnames: [a, b, c]

      -
        - A table stored in row-major order, all stored in the same block
        - |
            !<tag:astropy.org:astropy/table/table-1.0.0>
              columns:
              - !core/column-1.0.0
                data: !core/ndarray-1.0.0
                  source: 0
                  datatype: float64
                  byteorder: little
                  shape: [3]
                  strides: [13]
                description: RA
                meta: {foo: bar}
                name: a
                unit: !unit/unit-1.0.0 deg
              - !core/column-1.0.0
                data: !core/ndarray-1.0.0
                  source: 0
                  datatype: float64
                  byteorder: little
                  shape: [3]
                  offset: 4
                  strides: [13]
                description: DEC
                name: b
              - !core/column-1.0.0
                data: !core/ndarray-1.0.0
                  source: 0
                  datatype: [ascii, 1]
                  byteorder: big
                  shape: [3]
                  offset: 12
                  strides: [13]
                description: The target name
                name: c
              colnames: [a, b, c]

    type: object
    properties:
      columns:
        description: |
          A list of columns in the table.
        type: array
        items:
          anyOf:
            - $ref: "tag:stsci.edu:asdf/core/column-1.0.0"
            - $ref: "tag:stsci.edu:asdf/core/ndarray-1.0.0"
            - $ref: "tag:stsci.edu:asdf/time/time-1.1.0"
            - $ref: "tag:stsci.edu:asdf/unit/quantity-1.1.0"
            - $ref: "../coordinates/skycoord-1.0.0"
            - $ref: "../coordinates/earthlocation-1.0.0"
            - $ref: "../time/timedelta-1.0.0"

      colnames:
        description: |
          A list containing the names of the columns in the table (in order).
        type: array
        items:
          - type: string

      qtable:
        description: |
          A flag indicating whether or not the serialized type was a QTable
        type: boolean
        default: False

      meta:
        description: |
          Additional free-form metadata about the table.
        type: object
        default: {}

    additionalProperties: false
    required: [columns, colnames]

## Time

The following schemas are associated with `astropy` types from the Time and Dates (astropy.time) submodule:

### time/timedelta-1.0.0

    %YAML 1.1
    ---
    $schema: "http://stsci.edu/schemas/asdf/asdf-schema-1.0.0"
    id: "http://astropy.org/schemas/astropy/time/time-1.1.0"
    title: Represents an instance of TimeDelta from astropy
    description: |
      Represents the time difference between two times.

    type: object
    properties:
        jd1:
          anyOf:
            - type: number
            - $ref: "tag:stsci.edu:asdf/core/ndarray-1.0.0"
          description: |
            Value representing first 64 bits of precision
        jd2:
          anyOf:
            - type: number
            - $ref: "tag:stsci.edu:asdf/core/ndarray-1.0.0"
          description: |
            Value representing second 64 bits of precision
        format:
          type: string
          description: |
            Format of time value representation.
        scale:
          type: string
          description: |
            Time scale of input value(s).
          enum: [tdb, tt, ut1, tcg, tcb, tai, local]
    required: [jd1, jd2, format]
    additionalProperties: False
    ...

## Units

The following schemas are associated with `astropy` types from the Units and Quantities (astropy.units) submodule:

### units/equivalency-1.0.0

    %YAML 1.1
    ---
    $schema: "http://stsci.edu/schemas/yaml-schema/draft-01"
    id: "http://astropy.org/schemas/astropy/units/equivalency-1.0.0"
    tag: "tag:astropy.org:astropy/units/equivalency-1.0.0"

    title: |
      Represents unit equivalency.

    description: |
      Supports serialization of equivalencies between units
      in certain contexts

    definitions:
      equivalency:
        type: object
        properties:
          name:
            type: string
          kwargs_names:
            type: array
            items:
              type: string
          kwargs_values:
            type: array
            items:
              anyOf:
                - $ref: "tag:stsci.edu:asdf/unit/quantity-1.1.0"
                - type: number
                - type: "null"

    type: array
    items:
      $ref: "#/definitions/equivalency"
    ...