ska-sci-ops / aa_uv

Utilities for working with AAVS data
BSD 3-Clause "New" or "Revised" License
0 stars 1 forks source link

[AEP002] Write specification for `UV` class and add HDF5 writer #8

Closed telegraphic closed 3 months ago

telegraphic commented 9 months ago

HDFView file structure

image

YAML schema

uvx: 
  CLASS: AAVS_UV
  VERSION: X.Y.Z
  hdf5_type: root

###############
# Context group
uvx/context:
  description: Contextual information about observation.

#################
# Antennas group
uvx/antennas:
  description: Antenna array spatial coordinate details.
  hdf5_type: group
uvx/antennas/attrs:
  description: Antenna array metadata, including array origin
  hdf5_type: group
uvx/antennas/attrs/array_origin_geocentric:
  description: Array center in WGS84 ECEF coordinates
  hdf5_type: dataset
uvx/antennas/attrs/array_origin_geodetic:
  description: Geodetic array center in Longitude, Latitude, Height
  hdf5_type: dataset
uvx/antennas/attrs/flags:
  description: Data quality issue flag, per antenna.
  hdf5_type: dataset  
uvx/antennas/attrs/identifier:
  description: Antenna name/identifier
  hdf5_type: dataset  
uvx/antennas/coords:
  description: Data coordinates for antenna data
  hdf5_type: group
uvx/antennas/coords/antenna:
  description: Antenna index (numerical, 0-based)
  dims:
    - antenna
  hdf5_type: dataset
uvx/antennas/coords/spatial:
  description: Spatial (X, Y, Z) coordinate
  dims:
    - spatial
  hdf5_type: dataset
uvx/antennas/ecef:
  description: Antenna WGS84 locations in Earth-centered, Earth-fixed (ECEF) coordinate system.  Note array center (origin) position (X0, Y0, Z0) has been subtracted.
  dims: 
    - array
    - spatial
  hdf5_type: dataset  
uvx/antennas/enu:
  description: Antenna locations in local East-North-Up coordinates
  dims: 
    - array
    - spatial
  hdf5_type: dataset  

####################
# Visibilities group
uvx/visibilities:
  description: Visibility data. (inter-antenna cross-correlations).
  hdf5_type: group
uvx/visibilities/attrs:
  description: Additional visibility metadata.
  hdf5_type: group
uvx/visibilities/coords:
  description: Data coordinates for visibility data
  hdf5_type: group
uvx/visibilities/coords/baseline:
  description: Antenna baseline coordinate
  hdf5_type: group
uvx/visibilities/coords/baseline/ant1:
  description: Baseline antenna 1 index
  hdf5_type: dataset
  dims:
    - antenna
uvx/visibilities/coords/baseline/ant2:
  description: Baseline antenna 2 index
  hdf5_type: dataset
  dims:
    - antenna
uvx/visibilities/coords/frequency:
  description: Frequency at channel center
  hdf5_type: dataset
  dims:
    - frequency
uvx/visibilities/coords/polarization:
  description: Polarization products coordinate
  hdf5_type: dataset
  dims:
    - polarization
uvx/visibilities/coords/time:
  description: Time coordinate
  hdf5_type: group
uvx/visibilities/coords/time/lst:
  description: Local apparent sidereal time
  hdf5_type: dataset
  dims:
    - time
uvx/visibilities/coords/time/mjd:
  description: Modified Julian Date
  hdf5_type: dataset  
  dims:
    - time
uvx/visibilities/coords/time/unix:
  description: "Unix timestamp (seconds since 1970-01-01 00:00:00 UTC)"
  hdf5_type: dataset 
  dims:
    - time 
uvx/visibilities/data:
  description: Visibility dataset / correlation tensor
  dims: 
    - time
    - frequency
    - baseline
    - polarization
  hdf5_type: dataset

###############
# Phase center
uvx/phase_center:
  description: Array phase center / pointing information.
  hdf5_type: group
uvx/phase_center/ra:
  description: Right Ascension (J2000)
  hdf5_type: dataset
uvx/phase_center/dec:
  description: Declination (J2000)
  hdf5_type: dataset

###############
# Provenance
uvx/provenance:
  description: History and data provenance information.
  hdf5_type: group
uvx/provenance/aavs_uv_config:
  description: Software versions used in file generation.
  hdf5_type: group
uvx/provenance/input_files:
  description: Input files used in file generation.
  hdf5_type: group
uvx/provenance/input_metadata:
  description: Metadata from input files used in file generation.
  hdf5_type: group