ALMA Single Dish Conversion Guide
[1]:
from importlib.metadata import version
import os
try:
import xradio
print("XRADIO version", version("xradio"), "already installed.")
except ImportError as e:
print(e)
print("Installing XRADIO")
os.system("pip install xradio")
import xradio
print("xradio version", version("xradio"), " installed.")
XRADIO version 1.1.12a0 already installed.
Download dataset
[2]:
from toolviper.utils.data import list_files
list_files()
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ file ┃ dtype ┃ telescope ┃ size ┃ mode ┃ ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩ │ ea25_cal_small_before_fixed… │ CASA MS v2 │ VLA │ 150170225 │ Holography │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ kband_beamcut_small.ms │ CASA MS v2 │ VLA │ 17986574 │ Holography(beam cut) │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ ea25_cal_small_after_fixed.… │ CASA MS v2 │ VLA │ 150031008 │ Holography │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ J1924-2914.ms.calibrated.sp… │ CASA MS v2 │ ALMA │ 35000000 │ Holography │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ extract_holog_verification.… │ json │ na │ 967 │ na │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ holog_numerical_verificatio… │ json │ na │ 1033 │ na │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ locit-input-pha.cal │ CASA Cal Table │ VLA │ 92293 │ antenna location cal table │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ panel_cutoff_mask │ npy │ na │ 27150 │ na │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ heuristic_model │ bin │ na │ 556 │ na │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ panel-input-data │ na │ na │ 402916 │ na │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ AA2-Mid-sim_00000.ms │ CASA MS v2 │ SKA Mid │ 14710912 │ Simulated Interferometer │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ Antennae_M8.img.zarr │ zarr │ ALMA │ 12626417 │ Interferometer Mosaic │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ Antennae_North.cal.lsrk.ms │ CASA MS v2 │ ALMA │ 189716793 │ Interferometer Mosaic │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ Antennae_North.cal.lsrk.spl… │ CASA MS v2 │ ALMA │ 1560578 │ Interferometer Mosaic │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ complex_valued_uv.im │ image │ Simulated │ 562110 │ Simulated │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ demo_simulated.im │ image │ Simulated │ 15321745 │ Simulated │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ no_mask.im │ image │ Simulated │ 4252 │ Simulated │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ small_lofar.ms │ CASA MS v2 │ LOFAR │ 10091260 │ Interferometer │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ small_meerkat.ms │ CASA MS v2 │ MeerKAT │ 2392258 │ Interferometer │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ global_vlbi_gg084b_reduced.… │ CASA MS v2 │ GLOBAL VLBI │ 15701018 │ VLBI │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ VLBA_TL016B_split_lsrk.ms │ CASA MS v2 │ VLBA │ 9399847 │ VLBI │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ ngEHT_E17A10.0.bin0000.sour… │ CASA MS v2 │ ngEHT │ 11082603 │ Simulated Interferometer │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ venus_ephem_test.ms │ CASA MS v2 │ ALMA │ 16758430 │ Interferometer Ephemeris │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ sdimaging.ms │ CASA MS v2 │ ALMA │ 29718841 │ Single Dish │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ ALMA_uid___A002_X1003af4_X7… │ CASA MS v2 │ ALMA │ 29593547 │ Interferometer Ephemeris │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ VLASS3.2.sb45755730.eb46170… │ CASA MS v2 │ VLA │ 69019704 │ Interferometer Ephemeris │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ feather_sim_vla_c1_pI.im │ image │ Simulated │ 62246951 │ Simulated │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ feather_sim_sd_c1_pI.im │ image │ Simulated │ 67218042 │ Simulated │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ Antennae_fld1_casa_lsrk.ps.… │ Msv4 │ ALMA │ 9314803 │ Interferometer │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ Antennae_fld1_topo.ps.zarr │ Msv4 │ ALMA │ 9867649 │ Interferometer │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ Antennae_North.cal.lsrk.spl… │ Msv4 │ ALMA │ 3430000 │ Interferometer │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ Antennae_North.cal.lsrk.ps.… │ Msv4 │ ALMA │ 2040000 │ Interferometer │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ feather_model_convolved │ Model │ │ 61364929 │ Simulated │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ feather.im │ CASA Image │ │ 67150892 │ Simulated │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ int.zarr │ Zarr Image │ │ 65512355 │ Simulated │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ sd.zarr │ Zarr Image │ │ 67150892 │ Simulated │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ ska_low_sim_18s.ms │ CASA MS v2 │ SKA Low │ 8866100 │ Simulated │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ VLBA_TL016B_split.ms │ CASA MS v2 │ VLBA │ 9402465 │ Interferometer │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ ngEHT_E17A10.0.bin0000.sour… │ CASA MS v2 │ ngEHT │ 11099488 │ Interferometer │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ uid___A002_X1015532_X1926f.… │ CASA MS v2 │ ALMA │ 6299859 │ Single Dish │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ uid___A002_Xae00c5_X2e6b.sm… │ CASA MS v2 │ ALMA │ 7351298 │ Single Dish │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ uid___A002_Xced5df_Xf9d9.sm… │ CASA MS v2 │ ALMA │ 7351298 │ Single Dish │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ uid___A002_Xe3a5fd_Xe38e.sm… │ CASA MS v2 │ ALMA │ 16122776 │ Single Dish │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ SNR_G55_10s.split.ms │ CASA MS v2 │ VLA │ 8648349 │ Interferometer │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ 59749_bp_8beams_pattern.ms │ CASA MS v2 │ ASKAP │ 8137335 │ Interferometer │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ 59750_altaz_2settings.ms │ CASA MS v2 │ ASKAP │ 3669608 │ Interferometer │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ 59754_altaz_2weights_0.ms │ CASA MS v2 │ ASKAP │ 3521937 │ Interferometer │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ 59754_altaz_2weights_15.ms │ CASA MS v2 │ ASKAP │ 3538081 │ Interferometer │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ 59755_eq_interleave_0.ms │ CASA MS v2 │ ASKAP │ 7525050 │ Interferometer │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ 59755_eq_interleave_15.ms │ CASA MS v2 │ ASKAP │ 7493404 │ Interferometer │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ gmrt.ms │ CASA MS v2 │ GMRT │ 2125130 │ Interferometer │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ checksum.hash │ hash │ NA │ 20 │ NA │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ refim_point_im_casa_hogbom_… │ NA │ NA │ 257051 │ NA │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ 3c286_Band6_5chans_lsrk_com… │ NA │ NA │ 22762594 │ NA │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ twhya_selfcal_5chans_lsrk_c… │ NA │ NA │ 7027733 │ NA │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ twhya_selfcal_5chans_lsrk_x… │ NA │ NA │ 5271957 │ NA │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ twhya_selfcal_11chans_lsrk_… │ CASA MS v2 │ ALMA │ 2555984 │ Interferometer │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ casa_hogbom_deconv.residual │ CASA MS v2 │ NA │ 968492 │ NA │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ test_hogbom_multisrc.psf │ CASA MS v2 │ NA │ 972188 │ NA │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ test_hogbom_multisrc.residu… │ CASA MS v2 │ NA │ 959913 │ NA │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ refim_point_im.psf │ CASA MS v2 │ NA │ 238662 │ NA │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ refim_point_im.residual │ CASA MS v2 │ NA │ 242965 │ NA │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ absolute_off │ ASDM │ ALMA SD │ 245676406 │ NA │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ 3c286_Band6_5chans_lsrk_rob… │ MSv4 │ NA │ 16705461 │ NA │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ 3c286_Band6_5chans_lsrk_rob… │ FITS │ NA │ 21054726 │ NA │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ kband_beamcut_small.beamcut… │ Astrohack beamcut file │ VLA │ 411479 │ Holography │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ ref_beamcut_products │ Beamcut export products │ VLA │ 1068652 │ beamcut │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ ref_locit_products │ Locit export products │ VLA │ 520143 │ Antenna position │ │ │ │ │ │ corrections │ ├──────────────────────────────┼──────────────────────────┼─────────────┼───────────┼─────────────────────────────┤ │ ref_position_products │ Position export products │ VLA │ 1704935 │ Antenna position │ │ │ │ │ │ corrections │ └──────────────────────────────┴──────────────────────────┴─────────────┴───────────┴─────────────────────────────┘
[3]:
import toolviper
toolviper.utils.data.download(file="sdimaging.ms")
[2026-01-21 13:05:05,166] INFO viperlog: Downloading from [cloudflare] ....
Download List ─────────────── sdimaging.ms
[2026-01-21 13:05:05,168] INFO viperlog: File exists: sdimaging.ms
ALMA Single Dish Data
Dataset |
Telescope |
Multi-Target |
OFF Position |
Ephemeris |
Scan Pattern |
|---|---|---|---|---|---|
uid___A002_Xced5df_Xf9d9.small |
ALMA |
horizontal |
raster |
||
uid___A002_X1015532_X1926f.small |
ALMA |
relative |
x |
raster |
|
uid___A002_Xe3a5fd_Xe38e.small |
ALMA |
x |
absolute |
raster |
|
uid___A002_Xae00c5_X2e6b.small |
ALMA |
relative |
x |
fast |
OFF position:
absolute: OFF position has its own field entry in the FIELD table.
relative: OFF is a fixed position specified as an offset coordinate relative to the ON position.
horizontal: OFF is also an offset position relative to the ON position but specified so that its elevation value is always close to the ON position (meaning that the OFF position is moving with time).
Scan pattern: raster scan/fast scan.
raster: Scan is, as the name indicates, a raster pattern with a relatively long integration time (0.1-1 sec) and channelized spectral window.
fast: Scan is either a Lissajous or double-circle pattern with short integration time (1 msec) and single-channel spectral window.
[4]:
import toolviper
ms_file = "uid___A002_Xced5df_Xf9d9.small.ms"
toolviper.utils.data.download(file=ms_file)
[2026-01-21 13:05:05,188] INFO viperlog: Downloading from [cloudflare] ....
Download List ─────────────────────────────────── uid___A002_Xced5df_Xf9d9.small.ms
[2026-01-21 13:05:05,190] INFO viperlog: File exists: uid___A002_Xced5df_Xf9d9.small.ms
Setup Dask Client
[5]:
from toolviper.dask import local_client
viper_client = local_client(cores=4, memory_limit="4GB")
viper_client
[2026-01-21 13:05:05,218] INFO viperlog: Module path: /Users/jsteeb/miniforge3/envs/timg/lib/python3.13/site-packages/toolviper
[2026-01-21 13:05:05,221] WARNING viperlog: It is recommended that the local cache directory be set using the dask_local_dir parameter.
[2026-01-21 13:05:05,838] INFO viperlog: Client <MenrvaClient: 'tcp://127.0.0.1:54603' processes=4 threads=4, memory=14.90 GiB>
[5]:
Client
MenrvaClient-b714fb10-f6f3-11f0-8861-80a9970f900d
| Connection method: Cluster object | Cluster type: distributed.LocalCluster |
| Dashboard: http://127.0.0.1:8787/status |
Cluster Info
LocalCluster
0d711405
| Dashboard: http://127.0.0.1:8787/status | Workers: 4 |
| Total threads: 4 | Total memory: 14.90 GiB |
| Status: running | Using processes: True |
Scheduler Info
Scheduler
Scheduler-9f67cc50-b58c-41ef-abbb-f72954ce1bb7
| Comm: tcp://127.0.0.1:54603 | Workers: 4 |
| Dashboard: http://127.0.0.1:8787/status | Total threads: 4 |
| Started: Just now | Total memory: 14.90 GiB |
Workers
Worker: 0
| Comm: tcp://127.0.0.1:54614 | Total threads: 1 |
| Dashboard: http://127.0.0.1:54618/status | Memory: 3.73 GiB |
| Nanny: tcp://127.0.0.1:54606 | |
| Local directory: /var/folders/b7/dx896v1x4yjb9v6rvs_n2hs00000gp/T/dask-scratch-space/worker-fl5cj7al | |
| Tasks executing: | Tasks in memory: |
| Tasks ready: | Tasks in flight: |
| CPU usage: 0.0% | Last seen: Just now |
| Memory usage: 67.80 MiB | Spilled bytes: 0 B |
| Read bytes: 0.0 B | Write bytes: 0.0 B |
Worker: 1
| Comm: tcp://127.0.0.1:54615 | Total threads: 1 |
| Dashboard: http://127.0.0.1:54619/status | Memory: 3.73 GiB |
| Nanny: tcp://127.0.0.1:54608 | |
| Local directory: /var/folders/b7/dx896v1x4yjb9v6rvs_n2hs00000gp/T/dask-scratch-space/worker-sjh05mn1 | |
| Tasks executing: | Tasks in memory: |
| Tasks ready: | Tasks in flight: |
| CPU usage: 0.0% | Last seen: Just now |
| Memory usage: 67.22 MiB | Spilled bytes: 0 B |
| Read bytes: 0.0 B | Write bytes: 0.0 B |
Worker: 2
| Comm: tcp://127.0.0.1:54616 | Total threads: 1 |
| Dashboard: http://127.0.0.1:54622/status | Memory: 3.73 GiB |
| Nanny: tcp://127.0.0.1:54610 | |
| Local directory: /var/folders/b7/dx896v1x4yjb9v6rvs_n2hs00000gp/T/dask-scratch-space/worker-ne1mow_b | |
| Tasks executing: | Tasks in memory: |
| Tasks ready: | Tasks in flight: |
| CPU usage: 0.0% | Last seen: Just now |
| Memory usage: 67.31 MiB | Spilled bytes: 0 B |
| Read bytes: 0.0 B | Write bytes: 0.0 B |
Worker: 3
| Comm: tcp://127.0.0.1:54617 | Total threads: 1 |
| Dashboard: http://127.0.0.1:54624/status | Memory: 3.73 GiB |
| Nanny: tcp://127.0.0.1:54612 | |
| Local directory: /var/folders/b7/dx896v1x4yjb9v6rvs_n2hs00000gp/T/dask-scratch-space/worker-w0x7vura | |
| Tasks executing: | Tasks in memory: |
| Tasks ready: | Tasks in flight: |
| CPU usage: 0.0% | Last seen: Just now |
| Memory usage: 67.59 MiB | Spilled bytes: 0 B |
| Read bytes: 0.0 B | Write bytes: 0.0 B |
Convert to Processing Set
[6]:
from xradio.measurement_set import convert_msv2_to_processing_set
ps_store = ms_file.replace(".ms", ".ps.zarr")
convert_msv2_to_processing_set(
in_file=ms_file,
out_file=ps_store,
parallel_mode="partition",
persistence_mode='w',
)
[2026-01-21 13:05:07,569] INFO viperlog: Updated partition scheme used: ['DATA_DESC_ID', 'OBS_MODE', 'OBSERVATION_ID', 'EPHEMERIS_ID']
[2026-01-21 13:05:07,576] INFO viperlog: Number of partitions: 20
[2026-01-21 13:05:07,576] INFO viperlog: OBSERVATION_ID [0], DDI [0], STATE [10], FIELD [1], SCAN [2, 4, 6, 8, 10, 12, 14, 16, 18], EPHEMERIS [-1]
[2026-01-21 13:05:07,577] INFO viperlog: OBSERVATION_ID [0], DDI [1], STATE [10], FIELD [1], SCAN [2, 4, 6, 8, 10, 12, 14, 16, 18], EPHEMERIS [-1]
[2026-01-21 13:05:07,577] INFO viperlog: OBSERVATION_ID [0], DDI [2], STATE [10], FIELD [1], SCAN [2, 4, 6, 8, 10, 12, 14, 16, 18], EPHEMERIS [-1]
[2026-01-21 13:05:07,577] INFO viperlog: OBSERVATION_ID [0], DDI [3], STATE [10], FIELD [1], SCAN [2, 4, 6, 8, 10, 12, 14, 16, 18], EPHEMERIS [-1]
[2026-01-21 13:05:07,578] INFO viperlog: OBSERVATION_ID [0], DDI [0], STATE [11], FIELD [1], SCAN [2, 4, 6, 8, 10, 12, 14, 16, 18], EPHEMERIS [-1]
[2026-01-21 13:05:07,578] INFO viperlog: OBSERVATION_ID [0], DDI [1], STATE [11], FIELD [1], SCAN [2, 4, 6, 8, 10, 12, 14, 16, 18], EPHEMERIS [-1]
[2026-01-21 13:05:07,579] INFO viperlog: OBSERVATION_ID [0], DDI [2], STATE [11], FIELD [1], SCAN [2, 4, 6, 8, 10, 12, 14, 16, 18], EPHEMERIS [-1]
[2026-01-21 13:05:07,579] INFO viperlog: OBSERVATION_ID [0], DDI [3], STATE [11], FIELD [1], SCAN [2, 4, 6, 8, 10, 12, 14, 16, 18], EPHEMERIS [-1]
[2026-01-21 13:05:07,579] INFO viperlog: OBSERVATION_ID [0], DDI [0], STATE [12], FIELD [1], SCAN [2, 4, 6, 8, 10, 12, 14, 16, 18], EPHEMERIS [-1]
[2026-01-21 13:05:07,580] INFO viperlog: OBSERVATION_ID [0], DDI [1], STATE [12], FIELD [1], SCAN [2, 4, 6, 8, 10, 12, 14, 16, 18], EPHEMERIS [-1]
[2026-01-21 13:05:07,580] INFO viperlog: OBSERVATION_ID [0], DDI [2], STATE [12], FIELD [1], SCAN [2, 4, 6, 8, 10, 12, 14, 16, 18], EPHEMERIS [-1]
[2026-01-21 13:05:07,580] INFO viperlog: OBSERVATION_ID [0], DDI [3], STATE [12], FIELD [1], SCAN [2, 4, 6, 8, 10, 12, 14, 16, 18], EPHEMERIS [-1]
[2026-01-21 13:05:07,581] INFO viperlog: OBSERVATION_ID [0], DDI [0], STATE [13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53], FIELD [1], SCAN [3, 5, 7, 9, 11, 13, 15, 17], EPHEMERIS [-1]
[2026-01-21 13:05:07,581] INFO viperlog: OBSERVATION_ID [0], DDI [1], STATE [13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53], FIELD [1], SCAN [3, 5, 7, 9, 11, 13, 15, 17], EPHEMERIS [-1]
[2026-01-21 13:05:07,582] INFO viperlog: OBSERVATION_ID [0], DDI [2], STATE [13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53], FIELD [1], SCAN [3, 5, 7, 9, 11, 13, 15, 17], EPHEMERIS [-1]
[2026-01-21 13:05:07,582] INFO viperlog: OBSERVATION_ID [0], DDI [3], STATE [13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53], FIELD [1], SCAN [3, 5, 7, 9, 11, 13, 15, 17], EPHEMERIS [-1]
[2026-01-21 13:05:07,582] INFO viperlog: OBSERVATION_ID [0], DDI [0], STATE [14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52], FIELD [1], SCAN [3, 5, 7, 9, 11, 13, 15, 17], EPHEMERIS [-1]
[2026-01-21 13:05:07,583] INFO viperlog: OBSERVATION_ID [0], DDI [1], STATE [14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52], FIELD [1], SCAN [3, 5, 7, 9, 11, 13, 15, 17], EPHEMERIS [-1]
[2026-01-21 13:05:07,584] INFO viperlog: OBSERVATION_ID [0], DDI [2], STATE [14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52], FIELD [1], SCAN [3, 5, 7, 9, 11, 13, 15, 17], EPHEMERIS [-1]
[2026-01-21 13:05:07,584] INFO viperlog: OBSERVATION_ID [0], DDI [3], STATE [14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52], FIELD [1], SCAN [3, 5, 7, 9, 11, 13, 15, 17], EPHEMERIS [-1]
Processing Set
[7]:
from xradio.measurement_set import open_processing_set
import pandas as pd
pd.set_option('display.max_colwidth', 1000)
ps_xdt = open_processing_set(ps_store)
ps_xdt.xr_ps.summary()
[7]:
| name | scan_intents | shape | execution_block_UID | polarization | scan_name | spw_name | spw_intents | field_name | source_name | line_name | field_coords | session_reference_UID | scheduling_block_UID | project_UID | start_frequency | end_frequency | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | uid___A002_Xced5df_Xf9d9.small_00 | [CALIBRATE_ATMOSPHERE#OFF_SOURCE, CALIBRATE_WVR#OFF_SOURCE] | (135, 2, 3, 2) | uid://A002/Xced5df/Xf9d9 | [XX, YY] | [10, 12, 14, 16, 18, 2, 4, 6, 8] | X1204293883#ALMA_RB_06#BB_1#SW-01#FULL_RES_0 | [UNSPECIFIED] | [NGC1097_1] | [NGC1097_1] | [CO_v_0_2_1(ID=3768101)] | [icrs, 2h46m19.09s, -30d16m30.18s] | --- | uid://A001/X1284/X2621 | uid://A001/X1221/Xa61 | 2.295643e+11 | 2.295648e+11 |
| 1 | uid___A002_Xced5df_Xf9d9.small_01 | [CALIBRATE_ATMOSPHERE#OFF_SOURCE, CALIBRATE_WVR#OFF_SOURCE] | (135, 2, 3, 2) | uid://A002/Xced5df/Xf9d9 | [XX, YY] | [10, 12, 14, 16, 18, 2, 4, 6, 8] | X1204293883#ALMA_RB_06#BB_2#SW-01#FULL_RES_1 | [UNSPECIFIED] | [NGC1097_1] | [NGC1097_1] | [Continuum(ID=0)] | [icrs, 2h46m19.09s, -30d16m30.18s] | --- | uid://A001/X1284/X2621 | uid://A001/X1221/Xa61 | 2.320078e+11 | 2.320390e+11 |
| 2 | uid___A002_Xced5df_Xf9d9.small_02 | [CALIBRATE_ATMOSPHERE#OFF_SOURCE, CALIBRATE_WVR#OFF_SOURCE] | (135, 2, 3, 2) | uid://A002/Xced5df/Xf9d9 | [XX, YY] | [10, 12, 14, 16, 18, 2, 4, 6, 8] | X1204293883#ALMA_RB_06#BB_3#SW-01#FULL_RES_2 | [UNSPECIFIED] | [NGC1097_1] | [NGC1097_1] | [H2CO_Continuum(ID=0)] | [icrs, 2h46m19.09s, -30d16m30.18s] | --- | uid://A001/X1284/X2621 | uid://A001/X1221/Xa61 | 2.161367e+11 | 2.161406e+11 |
| 3 | uid___A002_Xced5df_Xf9d9.small_03 | [CALIBRATE_ATMOSPHERE#OFF_SOURCE, CALIBRATE_WVR#OFF_SOURCE] | (135, 2, 3, 2) | uid://A002/Xced5df/Xf9d9 | [XX, YY] | [10, 12, 14, 16, 18, 2, 4, 6, 8] | X1204293883#ALMA_RB_06#BB_4#SW-01#FULL_RES_3 | [UNSPECIFIED] | [NGC1097_1] | [NGC1097_1] | [C18O_2_1(ID=3768339)] | [icrs, 2h46m19.09s, -30d16m30.18s] | --- | uid://A001/X1284/X2621 | uid://A001/X1221/Xa61 | 2.179697e+11 | 2.179736e+11 |
| 4 | uid___A002_Xced5df_Xf9d9.small_04 | [CALIBRATE_ATMOSPHERE#AMBIENT, CALIBRATE_WVR#AMBIENT] | (135, 2, 3, 2) | uid://A002/Xced5df/Xf9d9 | [XX, YY] | [10, 12, 14, 16, 18, 2, 4, 6, 8] | X1204293883#ALMA_RB_06#BB_1#SW-01#FULL_RES_0 | [UNSPECIFIED] | [NGC1097_1] | [NGC1097_1] | [CO_v_0_2_1(ID=3768101)] | [icrs, 2h46m19.09s, -30d16m30.18s] | --- | uid://A001/X1284/X2621 | uid://A001/X1221/Xa61 | 2.295643e+11 | 2.295648e+11 |
| 5 | uid___A002_Xced5df_Xf9d9.small_05 | [CALIBRATE_ATMOSPHERE#AMBIENT, CALIBRATE_WVR#AMBIENT] | (135, 2, 3, 2) | uid://A002/Xced5df/Xf9d9 | [XX, YY] | [10, 12, 14, 16, 18, 2, 4, 6, 8] | X1204293883#ALMA_RB_06#BB_2#SW-01#FULL_RES_1 | [UNSPECIFIED] | [NGC1097_1] | [NGC1097_1] | [Continuum(ID=0)] | [icrs, 2h46m19.09s, -30d16m30.18s] | --- | uid://A001/X1284/X2621 | uid://A001/X1221/Xa61 | 2.320078e+11 | 2.320390e+11 |
| 6 | uid___A002_Xced5df_Xf9d9.small_06 | [CALIBRATE_ATMOSPHERE#AMBIENT, CALIBRATE_WVR#AMBIENT] | (135, 2, 3, 2) | uid://A002/Xced5df/Xf9d9 | [XX, YY] | [10, 12, 14, 16, 18, 2, 4, 6, 8] | X1204293883#ALMA_RB_06#BB_3#SW-01#FULL_RES_2 | [UNSPECIFIED] | [NGC1097_1] | [NGC1097_1] | [H2CO_Continuum(ID=0)] | [icrs, 2h46m19.09s, -30d16m30.18s] | --- | uid://A001/X1284/X2621 | uid://A001/X1221/Xa61 | 2.161367e+11 | 2.161406e+11 |
| 7 | uid___A002_Xced5df_Xf9d9.small_07 | [CALIBRATE_ATMOSPHERE#AMBIENT, CALIBRATE_WVR#AMBIENT] | (135, 2, 3, 2) | uid://A002/Xced5df/Xf9d9 | [XX, YY] | [10, 12, 14, 16, 18, 2, 4, 6, 8] | X1204293883#ALMA_RB_06#BB_4#SW-01#FULL_RES_3 | [UNSPECIFIED] | [NGC1097_1] | [NGC1097_1] | [C18O_2_1(ID=3768339)] | [icrs, 2h46m19.09s, -30d16m30.18s] | --- | uid://A001/X1284/X2621 | uid://A001/X1221/Xa61 | 2.179697e+11 | 2.179736e+11 |
| 8 | uid___A002_Xced5df_Xf9d9.small_08 | [CALIBRATE_ATMOSPHERE#HOT, CALIBRATE_WVR#HOT] | (135, 2, 3, 2) | uid://A002/Xced5df/Xf9d9 | [XX, YY] | [10, 12, 14, 16, 18, 2, 4, 6, 8] | X1204293883#ALMA_RB_06#BB_1#SW-01#FULL_RES_0 | [UNSPECIFIED] | [NGC1097_1] | [NGC1097_1] | [CO_v_0_2_1(ID=3768101)] | [icrs, 2h46m19.09s, -30d16m30.18s] | --- | uid://A001/X1284/X2621 | uid://A001/X1221/Xa61 | 2.295643e+11 | 2.295648e+11 |
| 9 | uid___A002_Xced5df_Xf9d9.small_09 | [CALIBRATE_ATMOSPHERE#HOT, CALIBRATE_WVR#HOT] | (135, 2, 3, 2) | uid://A002/Xced5df/Xf9d9 | [XX, YY] | [10, 12, 14, 16, 18, 2, 4, 6, 8] | X1204293883#ALMA_RB_06#BB_2#SW-01#FULL_RES_1 | [UNSPECIFIED] | [NGC1097_1] | [NGC1097_1] | [Continuum(ID=0)] | [icrs, 2h46m19.09s, -30d16m30.18s] | --- | uid://A001/X1284/X2621 | uid://A001/X1221/Xa61 | 2.320078e+11 | 2.320390e+11 |
| 10 | uid___A002_Xced5df_Xf9d9.small_10 | [CALIBRATE_ATMOSPHERE#HOT, CALIBRATE_WVR#HOT] | (135, 2, 3, 2) | uid://A002/Xced5df/Xf9d9 | [XX, YY] | [10, 12, 14, 16, 18, 2, 4, 6, 8] | X1204293883#ALMA_RB_06#BB_3#SW-01#FULL_RES_2 | [UNSPECIFIED] | [NGC1097_1] | [NGC1097_1] | [H2CO_Continuum(ID=0)] | [icrs, 2h46m19.09s, -30d16m30.18s] | --- | uid://A001/X1284/X2621 | uid://A001/X1221/Xa61 | 2.161367e+11 | 2.161406e+11 |
| 11 | uid___A002_Xced5df_Xf9d9.small_11 | [CALIBRATE_ATMOSPHERE#HOT, CALIBRATE_WVR#HOT] | (135, 2, 3, 2) | uid://A002/Xced5df/Xf9d9 | [XX, YY] | [10, 12, 14, 16, 18, 2, 4, 6, 8] | X1204293883#ALMA_RB_06#BB_4#SW-01#FULL_RES_3 | [UNSPECIFIED] | [NGC1097_1] | [NGC1097_1] | [C18O_2_1(ID=3768339)] | [icrs, 2h46m19.09s, -30d16m30.18s] | --- | uid://A001/X1284/X2621 | uid://A001/X1221/Xa61 | 2.179697e+11 | 2.179736e+11 |
| 12 | uid___A002_Xced5df_Xf9d9.small_12 | [OBSERVE_TARGET#OFF_SOURCE] | (2844, 2, 3, 2) | uid://A002/Xced5df/Xf9d9 | [XX, YY] | [11, 13, 15, 17, 3, 5, 7, 9] | X1204293883#ALMA_RB_06#BB_1#SW-01#FULL_RES_0 | [UNSPECIFIED] | [NGC1097_1] | [NGC1097_1] | [CO_v_0_2_1(ID=3768101)] | [icrs, 2h46m19.09s, -30d16m30.18s] | --- | uid://A001/X1284/X2621 | uid://A001/X1221/Xa61 | 2.295643e+11 | 2.295648e+11 |
| 13 | uid___A002_Xced5df_Xf9d9.small_13 | [OBSERVE_TARGET#OFF_SOURCE] | (2844, 2, 3, 2) | uid://A002/Xced5df/Xf9d9 | [XX, YY] | [11, 13, 15, 17, 3, 5, 7, 9] | X1204293883#ALMA_RB_06#BB_2#SW-01#FULL_RES_1 | [UNSPECIFIED] | [NGC1097_1] | [NGC1097_1] | [Continuum(ID=0)] | [icrs, 2h46m19.09s, -30d16m30.18s] | --- | uid://A001/X1284/X2621 | uid://A001/X1221/Xa61 | 2.320078e+11 | 2.320390e+11 |
| 14 | uid___A002_Xced5df_Xf9d9.small_14 | [OBSERVE_TARGET#OFF_SOURCE] | (2844, 2, 3, 2) | uid://A002/Xced5df/Xf9d9 | [XX, YY] | [11, 13, 15, 17, 3, 5, 7, 9] | X1204293883#ALMA_RB_06#BB_3#SW-01#FULL_RES_2 | [UNSPECIFIED] | [NGC1097_1] | [NGC1097_1] | [H2CO_Continuum(ID=0)] | [icrs, 2h46m19.09s, -30d16m30.18s] | --- | uid://A001/X1284/X2621 | uid://A001/X1221/Xa61 | 2.161367e+11 | 2.161406e+11 |
| 15 | uid___A002_Xced5df_Xf9d9.small_15 | [OBSERVE_TARGET#OFF_SOURCE] | (2844, 2, 3, 2) | uid://A002/Xced5df/Xf9d9 | [XX, YY] | [11, 13, 15, 17, 3, 5, 7, 9] | X1204293883#ALMA_RB_06#BB_4#SW-01#FULL_RES_3 | [UNSPECIFIED] | [NGC1097_1] | [NGC1097_1] | [C18O_2_1(ID=3768339)] | [icrs, 2h46m19.09s, -30d16m30.18s] | --- | uid://A001/X1284/X2621 | uid://A001/X1221/Xa61 | 2.179697e+11 | 2.179736e+11 |
| 16 | uid___A002_Xced5df_Xf9d9.small_16 | [OBSERVE_TARGET#ON_SOURCE] | (5850, 2, 3, 2) | uid://A002/Xced5df/Xf9d9 | [XX, YY] | [11, 13, 15, 17, 3, 5, 7, 9] | X1204293883#ALMA_RB_06#BB_1#SW-01#FULL_RES_0 | [UNSPECIFIED] | [NGC1097_1] | [NGC1097_1] | [CO_v_0_2_1(ID=3768101)] | [icrs, 2h46m19.09s, -30d16m30.18s] | --- | uid://A001/X1284/X2621 | uid://A001/X1221/Xa61 | 2.295643e+11 | 2.295648e+11 |
| 17 | uid___A002_Xced5df_Xf9d9.small_17 | [OBSERVE_TARGET#ON_SOURCE] | (5850, 2, 3, 2) | uid://A002/Xced5df/Xf9d9 | [XX, YY] | [11, 13, 15, 17, 3, 5, 7, 9] | X1204293883#ALMA_RB_06#BB_2#SW-01#FULL_RES_1 | [UNSPECIFIED] | [NGC1097_1] | [NGC1097_1] | [Continuum(ID=0)] | [icrs, 2h46m19.09s, -30d16m30.18s] | --- | uid://A001/X1284/X2621 | uid://A001/X1221/Xa61 | 2.320078e+11 | 2.320390e+11 |
| 18 | uid___A002_Xced5df_Xf9d9.small_18 | [OBSERVE_TARGET#ON_SOURCE] | (5850, 2, 3, 2) | uid://A002/Xced5df/Xf9d9 | [XX, YY] | [11, 13, 15, 17, 3, 5, 7, 9] | X1204293883#ALMA_RB_06#BB_3#SW-01#FULL_RES_2 | [UNSPECIFIED] | [NGC1097_1] | [NGC1097_1] | [H2CO_Continuum(ID=0)] | [icrs, 2h46m19.09s, -30d16m30.18s] | --- | uid://A001/X1284/X2621 | uid://A001/X1221/Xa61 | 2.161367e+11 | 2.161406e+11 |
| 19 | uid___A002_Xced5df_Xf9d9.small_19 | [OBSERVE_TARGET#ON_SOURCE] | (5850, 2, 3, 2) | uid://A002/Xced5df/Xf9d9 | [XX, YY] | [11, 13, 15, 17, 3, 5, 7, 9] | X1204293883#ALMA_RB_06#BB_4#SW-01#FULL_RES_3 | [UNSPECIFIED] | [NGC1097_1] | [NGC1097_1] | [C18O_2_1(ID=3768339)] | [icrs, 2h46m19.09s, -30d16m30.18s] | --- | uid://A001/X1284/X2621 | uid://A001/X1221/Xa61 | 2.179697e+11 | 2.179736e+11 |
MSv4
[8]:
sub_ps_xdt = ps_xdt.xr_ps.query(scan_intents="OBSERVE_TARGET#OFF_SOURCE")
sub_ps_xdt.xr_ps.summary()
[8]:
| name | scan_intents | shape | execution_block_UID | polarization | scan_name | spw_name | spw_intents | field_name | source_name | line_name | field_coords | session_reference_UID | scheduling_block_UID | project_UID | start_frequency | end_frequency | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | uid___A002_Xced5df_Xf9d9.small_12 | [OBSERVE_TARGET#OFF_SOURCE] | (2844, 2, 3, 2) | uid://A002/Xced5df/Xf9d9 | [XX, YY] | [11, 13, 15, 17, 3, 5, 7, 9] | X1204293883#ALMA_RB_06#BB_1#SW-01#FULL_RES_0 | [UNSPECIFIED] | [NGC1097_1] | [NGC1097_1] | [CO_v_0_2_1(ID=3768101)] | [icrs, 2h46m19.09s, -30d16m30.18s] | --- | uid://A001/X1284/X2621 | uid://A001/X1221/Xa61 | 2.295643e+11 | 2.295648e+11 |
| 1 | uid___A002_Xced5df_Xf9d9.small_13 | [OBSERVE_TARGET#OFF_SOURCE] | (2844, 2, 3, 2) | uid://A002/Xced5df/Xf9d9 | [XX, YY] | [11, 13, 15, 17, 3, 5, 7, 9] | X1204293883#ALMA_RB_06#BB_2#SW-01#FULL_RES_1 | [UNSPECIFIED] | [NGC1097_1] | [NGC1097_1] | [Continuum(ID=0)] | [icrs, 2h46m19.09s, -30d16m30.18s] | --- | uid://A001/X1284/X2621 | uid://A001/X1221/Xa61 | 2.320078e+11 | 2.320390e+11 |
| 2 | uid___A002_Xced5df_Xf9d9.small_14 | [OBSERVE_TARGET#OFF_SOURCE] | (2844, 2, 3, 2) | uid://A002/Xced5df/Xf9d9 | [XX, YY] | [11, 13, 15, 17, 3, 5, 7, 9] | X1204293883#ALMA_RB_06#BB_3#SW-01#FULL_RES_2 | [UNSPECIFIED] | [NGC1097_1] | [NGC1097_1] | [H2CO_Continuum(ID=0)] | [icrs, 2h46m19.09s, -30d16m30.18s] | --- | uid://A001/X1284/X2621 | uid://A001/X1221/Xa61 | 2.161367e+11 | 2.161406e+11 |
| 3 | uid___A002_Xced5df_Xf9d9.small_15 | [OBSERVE_TARGET#OFF_SOURCE] | (2844, 2, 3, 2) | uid://A002/Xced5df/Xf9d9 | [XX, YY] | [11, 13, 15, 17, 3, 5, 7, 9] | X1204293883#ALMA_RB_06#BB_4#SW-01#FULL_RES_3 | [UNSPECIFIED] | [NGC1097_1] | [NGC1097_1] | [C18O_2_1(ID=3768339)] | [icrs, 2h46m19.09s, -30d16m30.18s] | --- | uid://A001/X1284/X2621 | uid://A001/X1221/Xa61 | 2.179697e+11 | 2.179736e+11 |
[9]:
ms_xdt = sub_ps_xdt.xr_ps.query(line_name='Continuum(ID=0)').xr_ps.get_ms_xdt() # get_ms_xdt only works if a single Measurement Set is present.
ms_xdt
[9]:
<xarray.DataTree 'uid___A002_Xced5df_Xf9d9.small_13'>
Group: /uid___A002_Xced5df_Xf9d9.small_13
│ Dimensions: (time: 2844, antenna_name: 2, frequency: 3,
│ polarization: 2)
│ Coordinates:
│ * time (time) float64 23kB 1.53e+09 ... 1.53e+09
│ * antenna_name (antenna_name) <U9 72B 'PM01_T703' 'PM02_T701'
│ * frequency (frequency) float64 24B 2.32e+11 ... 2.32e+11
│ * polarization (polarization) <U2 16B 'XX' 'YY'
│ field_name (time) <U29 330kB dask.array<chunksize=(1422,), meta=np.ndarray>
│ scan_name (time) <U21 239kB dask.array<chunksize=(2844,), meta=np.ndarray>
│ telescope_name (antenna_name) <U4 32B dask.array<chunksize=(2,), meta=np.ndarray>
│ Data variables:
│ EFFECTIVE_INTEGRATION_TIME (time, antenna_name) float64 46kB dask.array<chunksize=(2844, 2), meta=np.ndarray>
│ FLAG (time, antenna_name, frequency, polarization) bool 34kB dask.array<chunksize=(2844, 2, 3, 2), meta=np.ndarray>
│ SPECTRUM (time, antenna_name, frequency, polarization) float32 137kB dask.array<chunksize=(2844, 2, 3, 2), meta=np.ndarray>
│ TIME_CENTROID (time, antenna_name) float64 46kB dask.array<chunksize=(2844, 2), meta=np.ndarray>
│ WEIGHT (time, antenna_name, frequency, polarization) float32 137kB dask.array<chunksize=(2844, 2, 3, 2), meta=np.ndarray>
│ Attributes:
│ creation_date: 2026-01-21T18:05:12.012836+00:00
│ creator: {'software_name': 'xradio', 'version': '1.1.12a0'}
│ data_groups: {'base': {'correlated_data': 'SPECTRUM', 'date': '2026...
│ observation_info: {'execution_block_UID': 'uid://A002/Xced5df/Xf9d9', 'o...
│ processor_info: {'sub_type': 'ALMA_ACA', 'type': 'CORRELATOR'}
│ schema_version: 4.0.0
│ type: spectrum
├── Group: /uid___A002_Xced5df_Xf9d9.small_13/antenna_xds
│ Dimensions: (antenna_name: 2, cartesian_pos_label: 3,
│ receptor_label: 2)
│ Coordinates:
│ * cartesian_pos_label (cartesian_pos_label) <U1 12B 'x' 'y' 'z'
│ * receptor_label (receptor_label) <U5 40B 'pol_0' 'pol_1'
│ mount (antenna_name) <U6 48B dask.array<chunksize=(2,), meta=np.ndarray>
│ polarization_type (antenna_name, receptor_label) <U1 16B dask.array<chunksize=(2, 2), meta=np.ndarray>
│ station_name (antenna_name) <U4 32B dask.array<chunksize=(2,), meta=np.ndarray>
│ telescope_name (antenna_name) <U4 32B dask.array<chunksize=(2,), meta=np.ndarray>
│ Data variables:
│ ANTENNA_DISH_DIAMETER (antenna_name) float64 16B dask.array<chunksize=(2,), meta=np.ndarray>
│ ANTENNA_POSITION (antenna_name, cartesian_pos_label) float64 48B dask.array<chunksize=(2, 3), meta=np.ndarray>
│ ANTENNA_RECEPTOR_ANGLE (antenna_name, receptor_label) float64 32B dask.array<chunksize=(2, 2), meta=np.ndarray>
│ Attributes:
│ overall_telescope_name: ALMA
│ relocatable_antennas: True
│ type: antenna
├── Group: /uid___A002_Xced5df_Xf9d9.small_13/field_and_source_base_xds
│ Dimensions: (field_name: 1, sky_dir_label: 2,
│ line_label: 1)
│ Coordinates:
│ * field_name (field_name) <U29 116B 'NGC1097_1'
│ * sky_dir_label (sky_dir_label) <U3 24B 'ra' 'dec'
│ * line_label (line_label) <U21 84B '0'
│ line_name (field_name, line_label) <U15 60B dask.array<chunksize=(1, 1), meta=np.ndarray>
│ source_name (field_name) <U29 116B dask.array<chunksize=(1,), meta=np.ndarray>
│ Data variables:
│ FIELD_REFERENCE_CENTER_DIRECTION (field_name, sky_dir_label) float64 16B dask.array<chunksize=(1, 2), meta=np.ndarray>
│ LINE_REST_FREQUENCY (field_name, line_label) float64 8B dask.array<chunksize=(1, 1), meta=np.ndarray>
│ LINE_SYSTEMIC_VELOCITY (field_name, line_label) float64 8B dask.array<chunksize=(1, 1), meta=np.ndarray>
│ SOURCE_DIRECTION (field_name, sky_dir_label) float64 16B dask.array<chunksize=(1, 2), meta=np.ndarray>
│ Attributes:
│ type: field_and_source
├── Group: /uid___A002_Xced5df_Xf9d9.small_13/pointing_xds
│ Dimensions: (time_pointing: 75400, antenna_name: 2,
│ local_sky_dir_label: 2)
│ Coordinates:
│ * time_pointing (time_pointing) float64 603kB 1.53e+09 ... 1.53e+09
│ * local_sky_dir_label (local_sky_dir_label) <U3 24B 'az' 'alt'
│ Data variables:
│ POINTING_BEAM (time_pointing, antenna_name, local_sky_dir_label) float64 2MB dask.array<chunksize=(75400, 2, 2), meta=np.ndarray>
│ POINTING_DISH_MEASURED (time_pointing, antenna_name, local_sky_dir_label) float64 2MB dask.array<chunksize=(75400, 2, 2), meta=np.ndarray>
│ POINTING_OVER_THE_TOP (time_pointing, antenna_name) bool 151kB dask.array<chunksize=(75400, 2), meta=np.ndarray>
│ Attributes:
│ type: pointing
├── Group: /uid___A002_Xced5df_Xf9d9.small_13/system_calibration_xds
│ Dimensions: (antenna_name: 2, time_system_cal: 9,
│ receptor_label: 2, frequency_system_cal: 128)
│ Coordinates:
│ * time_system_cal (time_system_cal) float64 72B 1.53e+09 ... 3.623e+09
│ * receptor_label (receptor_label) <U5 40B 'pol_0' 'pol_1'
│ * frequency_system_cal (frequency_system_cal) int64 1kB 0 1 2 ... 125 126 127
│ antenna_id (antenna_name) int32 8B dask.array<chunksize=(2,), meta=np.ndarray>
│ mount (antenna_name) <U6 48B dask.array<chunksize=(2,), meta=np.ndarray>
│ polarization_type (antenna_name, receptor_label) <U1 16B dask.array<chunksize=(2, 2), meta=np.ndarray>
│ station_name (antenna_name) <U4 32B dask.array<chunksize=(2,), meta=np.ndarray>
│ telescope_name (antenna_name) <U4 32B dask.array<chunksize=(2,), meta=np.ndarray>
│ Data variables:
│ TCAL (antenna_name, time_system_cal, receptor_label, frequency_system_cal) float64 37kB dask.array<chunksize=(2, 9, 2, 128), meta=np.ndarray>
│ TRX (antenna_name, time_system_cal, receptor_label, frequency_system_cal) float64 37kB dask.array<chunksize=(2, 9, 2, 128), meta=np.ndarray>
│ TSKY (antenna_name, time_system_cal, receptor_label, frequency_system_cal) float64 37kB dask.array<chunksize=(2, 9, 2, 128), meta=np.ndarray>
│ TSYS (antenna_name, time_system_cal, receptor_label, frequency_system_cal) float64 37kB dask.array<chunksize=(2, 9, 2, 128), meta=np.ndarray>
│ Attributes:
│ type: system_calibration
└── Group: /uid___A002_Xced5df_Xf9d9.small_13/weather_xds
Dimensions: (station_name: 6, time_weather: 1321,
cartesian_pos_label: 3)
Coordinates:
* station_name (station_name) <U10 240B 'Station_4' ... 'Station_12'
* time_weather (time_weather) float64 11kB 1.53e+09 ... 1.53e+09
* cartesian_pos_label (cartesian_pos_label) <U1 12B 'x' 'y' 'z'
Data variables:
DEW_POINT (station_name, time_weather) float64 63kB dask.array<chunksize=(6, 1321), meta=np.ndarray>
PRESSURE (station_name, time_weather) float64 63kB dask.array<chunksize=(6, 1321), meta=np.ndarray>
REL_HUMIDITY (station_name, time_weather) float64 63kB dask.array<chunksize=(6, 1321), meta=np.ndarray>
STATION_POSITION (station_name, cartesian_pos_label) float64 144B dask.array<chunksize=(6, 3), meta=np.ndarray>
TEMPERATURE (station_name, time_weather) float64 63kB dask.array<chunksize=(6, 1321), meta=np.ndarray>
WIND_DIRECTION (station_name, time_weather) float64 63kB dask.array<chunksize=(6, 1321), meta=np.ndarray>
WIND_SPEED (station_name, time_weather) float64 63kB dask.array<chunksize=(6, 1321), meta=np.ndarray>
Attributes:
type: weatherPartition_info
[10]:
ms_xdt.xr_ms.get_partition_info()
[10]:
{'spectral_window_name': 'X1204293883#ALMA_RB_06#BB_2#SW-01#FULL_RES_1',
'spectral_window_intents': ['UNSPECIFIED'],
'field_name': ['NGC1097_1'],
'polarization_setup': ['XX', 'YY'],
'scan_name': ['11', '13', '15', '17', '3', '5', '7', '9'],
'source_name': ['NGC1097_1'],
'scan_intents': ['OBSERVE_TARGET#OFF_SOURCE'],
'line_name': ['Continuum(ID=0)'],
'data_group_name': 'base'}
Processor_info
[11]:
ms_xdt.processor_info
[11]:
{'sub_type': 'ALMA_ACA', 'type': 'CORRELATOR'}
Observation_info
[12]:
ms_xdt.observation_info
[12]:
{'execution_block_UID': 'uid://A002/Xced5df/Xf9d9',
'observer': ['schinnerer'],
'observing_log': "['']",
'project_UID': 'uid://A001/X1221/Xa61',
'release_date': '1858-11-17T00:00:00.000000000',
'scheduling_block_UID': 'uid://A001/X1284/X2621'}
Antenna_xds
[13]:
ms_xdt.antenna_xds
[13]:
<xarray.DataTree 'antenna_xds'>
Group: /uid___A002_Xced5df_Xf9d9.small_13/antenna_xds
Dimensions: (time: 2844, antenna_name: 2, frequency: 3,
polarization: 2, cartesian_pos_label: 3,
receptor_label: 2)
Coordinates:
* cartesian_pos_label (cartesian_pos_label) <U1 12B 'x' 'y' 'z'
* receptor_label (receptor_label) <U5 40B 'pol_0' 'pol_1'
mount (antenna_name) <U6 48B dask.array<chunksize=(2,), meta=np.ndarray>
polarization_type (antenna_name, receptor_label) <U1 16B dask.array<chunksize=(2, 2), meta=np.ndarray>
station_name (antenna_name) <U4 32B dask.array<chunksize=(2,), meta=np.ndarray>
telescope_name (antenna_name) <U4 32B dask.array<chunksize=(2,), meta=np.ndarray>
Inherited coordinates:
* antenna_name (antenna_name) <U9 72B 'PM01_T703' 'PM02_T701'
* frequency (frequency) float64 24B 2.32e+11 2.32e+11 2.32e+11
* polarization (polarization) <U2 16B 'XX' 'YY'
* time (time) float64 23kB 1.53e+09 1.53e+09 ... 1.53e+09
Data variables:
ANTENNA_DISH_DIAMETER (antenna_name) float64 16B dask.array<chunksize=(2,), meta=np.ndarray>
ANTENNA_POSITION (antenna_name, cartesian_pos_label) float64 48B dask.array<chunksize=(2, 3), meta=np.ndarray>
ANTENNA_RECEPTOR_ANGLE (antenna_name, receptor_label) float64 32B dask.array<chunksize=(2, 2), meta=np.ndarray>
Attributes:
overall_telescope_name: ALMA
relocatable_antennas: True
type: antennaPointing_xds
[14]:
pointing_xds = ms_xdt.pointing_xds
pointing_xds
[14]:
<xarray.DataTree 'pointing_xds'>
Group: /uid___A002_Xced5df_Xf9d9.small_13/pointing_xds
Dimensions: (time: 2844, antenna_name: 2, frequency: 3,
polarization: 2, time_pointing: 75400,
local_sky_dir_label: 2)
Coordinates:
* time_pointing (time_pointing) float64 603kB 1.53e+09 ... 1.53e+09
* local_sky_dir_label (local_sky_dir_label) <U3 24B 'az' 'alt'
Inherited coordinates:
* antenna_name (antenna_name) <U9 72B 'PM01_T703' 'PM02_T701'
* frequency (frequency) float64 24B 2.32e+11 2.32e+11 2.32e+11
* polarization (polarization) <U2 16B 'XX' 'YY'
* time (time) float64 23kB 1.53e+09 1.53e+09 ... 1.53e+09
Data variables:
POINTING_BEAM (time_pointing, antenna_name, local_sky_dir_label) float64 2MB dask.array<chunksize=(75400, 2, 2), meta=np.ndarray>
POINTING_DISH_MEASURED (time_pointing, antenna_name, local_sky_dir_label) float64 2MB dask.array<chunksize=(75400, 2, 2), meta=np.ndarray>
POINTING_OVER_THE_TOP (time_pointing, antenna_name) bool 151kB dask.array<chunksize=(75400, 2), meta=np.ndarray>
Attributes:
type: pointing[15]:
import matplotlib.pyplot as plt
pnt_az = pointing_xds.POINTING_BEAM.sel(local_sky_dir_label='az')
pnt_alt = pointing_xds.POINTING_BEAM.sel(local_sky_dir_label='alt')
plt.figure()
plt.scatter(pnt_az, pnt_alt)
plt.show()
System Calibration
[16]:
ms_xdt.system_calibration_xds
[16]:
<xarray.DataTree 'system_calibration_xds'>
Group: /uid___A002_Xced5df_Xf9d9.small_13/system_calibration_xds
Dimensions: (time: 2844, antenna_name: 2, frequency: 3,
polarization: 2, time_system_cal: 9,
receptor_label: 2, frequency_system_cal: 128)
Coordinates:
* time_system_cal (time_system_cal) float64 72B 1.53e+09 ... 3.623e+09
* receptor_label (receptor_label) <U5 40B 'pol_0' 'pol_1'
* frequency_system_cal (frequency_system_cal) int64 1kB 0 1 2 ... 125 126 127
antenna_id (antenna_name) int32 8B dask.array<chunksize=(2,), meta=np.ndarray>
mount (antenna_name) <U6 48B dask.array<chunksize=(2,), meta=np.ndarray>
polarization_type (antenna_name, receptor_label) <U1 16B dask.array<chunksize=(2, 2), meta=np.ndarray>
station_name (antenna_name) <U4 32B dask.array<chunksize=(2,), meta=np.ndarray>
telescope_name (antenna_name) <U4 32B dask.array<chunksize=(2,), meta=np.ndarray>
Inherited coordinates:
* antenna_name (antenna_name) <U9 72B 'PM01_T703' 'PM02_T701'
* frequency (frequency) float64 24B 2.32e+11 2.32e+11 2.32e+11
* polarization (polarization) <U2 16B 'XX' 'YY'
* time (time) float64 23kB 1.53e+09 1.53e+09 ... 1.53e+09
Data variables:
TCAL (antenna_name, time_system_cal, receptor_label, frequency_system_cal) float64 37kB dask.array<chunksize=(2, 9, 2, 128), meta=np.ndarray>
TRX (antenna_name, time_system_cal, receptor_label, frequency_system_cal) float64 37kB dask.array<chunksize=(2, 9, 2, 128), meta=np.ndarray>
TSKY (antenna_name, time_system_cal, receptor_label, frequency_system_cal) float64 37kB dask.array<chunksize=(2, 9, 2, 128), meta=np.ndarray>
TSYS (antenna_name, time_system_cal, receptor_label, frequency_system_cal) float64 37kB dask.array<chunksize=(2, 9, 2, 128), meta=np.ndarray>
Attributes:
type: system_calibration[ ]: