{ "cells": [ { "cell_type": "markdown", "id": "09058b89-2898-4852-9f2a-84dcd27acaee", "metadata": {}, "source": [ "# VLBA conversion guide" ] }, { "cell_type": "code", "execution_count": 1, "id": "14a699d5-bf6e-4ebe-bfa5-dcccbec0ec2e", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "XRADIO version 1.1.3 already installed.\n" ] } ], "source": [ "from importlib.metadata import version\n", "import os\n", "\n", "try:\n", " import xradio\n", "\n", " print(\"XRADIO version\", version(\"xradio\"), \"already installed.\")\n", "except ImportError as e:\n", " print(e)\n", " print(\"Installing XRADIO\")\n", "\n", " os.system(\"pip install xradio\")\n", "\n", " import xradio\n", "\n", " print(\"xradio version\", version(\"xradio\"), \" installed.\")" ] }, { "cell_type": "markdown", "id": "a939f97e-6c76-47b0-aef5-256df2e908f9", "metadata": {}, "source": [ "## Download dataset" ] }, { "cell_type": "markdown", "id": "805daf71", "metadata": {}, "source": [ "Original VLBA dataset gotten from https://casaguides.nrao.edu/index.php?title=VLBA_Basic_Phase-referencing_Calibration_and_Imaging.\n", "\n", "Reduced the data using:\n", "\n", "```Python\n", "mstransform(vis='VLBA_TL016B.ms/',outputvis='VLBA_TL016B_split_lsrk.ms',spw='0:0~5,1:0~5',field='0,1', timerange='2022/02/21/06:14:00~2022/02/21/07:55:45.00', regridms=True,outframe='lsrk',datacolumn='all')\n", "```\n", "\n", "\n" ] }, { "cell_type": "code", "execution_count": 2, "id": "134a99e3-c5a2-443c-96d4-f44fae59555a", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[\u001b[38;2;128;05;128m2026-04-20 15:20:58,776\u001b[0m] \u001b[38;2;50;50;205m INFO\u001b[0m\u001b[38;2;112;128;144m toolviper: \u001b[0m Initializing download... \n", "[\u001b[38;2;128;05;128m2026-04-20 15:20:58,777\u001b[0m] \u001b[38;2;50;50;205m INFO\u001b[0m\u001b[38;2;112;128;144m toolviper: \u001b[0m File already exists: /Users/vdesouza/work/xradio/docs/source/measurement_set/guides/VLBA_TL016B_split.ms \n" ] } ], "source": [ "import toolviper\n", "\n", "toolviper.utils.data.download(file=\"VLBA_TL016B_split.ms\")" ] }, { "cell_type": "markdown", "id": "f8435c96-7010-4b79-8be6-51f7f6993b5f", "metadata": {}, "source": [ "## Convert to Processing Set" ] }, { "cell_type": "code", "execution_count": 3, "id": "ee52d124-2c17-450b-879f-1f86f0ae265c", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[\u001b[38;2;128;05;128m2026-04-20 15:20:59,172\u001b[0m] \u001b[38;2;50;50;205m INFO\u001b[0m\u001b[38;2;112;128;144m toolviper: \u001b[0m Updated partition scheme used: ['DATA_DESC_ID', 'OBSERVATION_ID', 'FIELD_ID'] \n", "[\u001b[38;2;128;05;128m2026-04-20 15:20:59,173\u001b[0m] \u001b[38;2;50;50;205m INFO\u001b[0m\u001b[38;2;112;128;144m toolviper: \u001b[0m Number of partitions: 4 \n", "[\u001b[38;2;128;05;128m2026-04-20 15:20:59,173\u001b[0m] \u001b[38;2;50;50;205m INFO\u001b[0m\u001b[38;2;112;128;144m toolviper: \u001b[0m OBSERVATION_ID [0], DDI [0], STATE [None], FIELD [0], SCAN [0], EPHEMERIS [None] \n", "[\u001b[38;2;128;05;128m2026-04-20 15:20:59,313\u001b[0m] \u001b[38;2;255;160;0m WARNING\u001b[0m\u001b[38;2;112;128;144m toolviper: \u001b[0m Source_id is -1. No source information will be included in the field_and_source_xds. \n", "[\u001b[38;2;128;05;128m2026-04-20 15:20:59,425\u001b[0m] \u001b[38;2;50;50;205m INFO\u001b[0m\u001b[38;2;112;128;144m toolviper: \u001b[0m OBSERVATION_ID [0], DDI [1], STATE [None], FIELD [0], SCAN [0], EPHEMERIS [None] \n", "[\u001b[38;2;128;05;128m2026-04-20 15:20:59,556\u001b[0m] \u001b[38;2;255;160;0m WARNING\u001b[0m\u001b[38;2;112;128;144m toolviper: \u001b[0m Source_id is -1. No source information will be included in the field_and_source_xds. \n", "[\u001b[38;2;128;05;128m2026-04-20 15:20:59,652\u001b[0m] \u001b[38;2;50;50;205m INFO\u001b[0m\u001b[38;2;112;128;144m toolviper: \u001b[0m OBSERVATION_ID [0], DDI [0], STATE [None], FIELD [1], SCAN [0], EPHEMERIS [None] \n", "[\u001b[38;2;128;05;128m2026-04-20 15:20:59,789\u001b[0m] \u001b[38;2;255;160;0m WARNING\u001b[0m\u001b[38;2;112;128;144m toolviper: \u001b[0m Source_id is -1. No source information will be included in the field_and_source_xds. \n", "[\u001b[38;2;128;05;128m2026-04-20 15:20:59,959\u001b[0m] \u001b[38;2;50;50;205m INFO\u001b[0m\u001b[38;2;112;128;144m toolviper: \u001b[0m OBSERVATION_ID [0], DDI [1], STATE [None], FIELD [1], SCAN [0], EPHEMERIS [None] \n", "[\u001b[38;2;128;05;128m2026-04-20 15:21:00,095\u001b[0m] \u001b[38;2;255;160;0m WARNING\u001b[0m\u001b[38;2;112;128;144m toolviper: \u001b[0m Source_id is -1. No source information will be included in the field_and_source_xds. \n" ] } ], "source": [ "from xradio.measurement_set import convert_msv2_to_processing_set\n", "\n", "ms_file = \"VLBA_TL016B_split.ms\"\n", "\n", "main_chunksize = {\"frequency\": 1, \"time\": 20} # baseline, polarization\n", "outfile = \"VLBA_TL016B_split_lsrk.ps.zarr\"\n", "convert_msv2_to_processing_set(\n", " in_file=ms_file,\n", " out_file=outfile,\n", " parallel_mode=\"none\",\n", " partition_scheme=[\"FIELD_ID\"],\n", " persistence_mode='w',\n", " main_chunksize=main_chunksize,\n", ")" ] }, { "cell_type": "markdown", "id": "fbd02679-0df8-4fa5-8036-6f22f534e386", "metadata": {}, "source": [ "## Processing Set" ] }, { "cell_type": "code", "execution_count": 4, "id": "dab986ca-55f8-4a4a-ba59-9c97fcc2ca84", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
| \n", " | name | \n", "scan_intents | \n", "shape | \n", "execution_block_UID | \n", "polarization | \n", "scan_name | \n", "spw_name | \n", "spw_intents | \n", "field_name | \n", "source_name | \n", "line_name | \n", "field_coords | \n", "session_reference_UID | \n", "scheduling_block_UID | \n", "project_UID | \n", "start_frequency | \n", "end_frequency | \n", "
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | \n", "VLBA_TL016B_split_0 | \n", "[None] | \n", "(200, 55, 6, 2) | \n", "--- | \n", "[RR, LL] | \n", "[0] | \n", "spw_0 | \n", "[UNSPECIFIED] | \n", "[4C39.25_0] | \n", "[Unknown] | \n", "[] | \n", "[fk5, 9h27m03.01s, 39d02m20.85s] | \n", "--- | \n", "--- | \n", "TL016B | \n", "5.004000e+09 | \n", "5.006500e+09 | \n", "
| 1 | \n", "VLBA_TL016B_split_1 | \n", "[None] | \n", "(200, 55, 6, 2) | \n", "--- | \n", "[RR, LL] | \n", "[0] | \n", "spw_1 | \n", "[UNSPECIFIED] | \n", "[4C39.25_0] | \n", "[Unknown] | \n", "[] | \n", "[fk5, 9h27m03.01s, 39d02m20.85s] | \n", "--- | \n", "--- | \n", "TL016B | \n", "5.068000e+09 | \n", "5.070500e+09 | \n", "
| 2 | \n", "VLBA_TL016B_split_2 | \n", "[None] | \n", "(540, 55, 6, 2) | \n", "--- | \n", "[RR, LL] | \n", "[0] | \n", "spw_0 | \n", "[UNSPECIFIED] | \n", "[J1154+6022_1] | \n", "[Unknown] | \n", "[] | \n", "[fk5, 11h54m04.54s, 60d22m20.82s] | \n", "--- | \n", "--- | \n", "TL016B | \n", "5.004000e+09 | \n", "5.006500e+09 | \n", "
| 3 | \n", "VLBA_TL016B_split_3 | \n", "[None] | \n", "(540, 55, 6, 2) | \n", "--- | \n", "[RR, LL] | \n", "[0] | \n", "spw_1 | \n", "[UNSPECIFIED] | \n", "[J1154+6022_1] | \n", "[Unknown] | \n", "[] | \n", "[fk5, 11h54m04.54s, 60d22m20.82s] | \n", "--- | \n", "--- | \n", "TL016B | \n", "5.068000e+09 | \n", "5.070500e+09 | \n", "
<xarray.DataTree 'VLBA_TL016B_split_3'>\n",
"Group: /VLBA_TL016B_split_3\n",
"│ Dimensions: (time: 540, baseline_id: 55, frequency: 6,\n",
"│ polarization: 2, uvw_label: 3)\n",
"│ Coordinates:\n",
"│ * time (time) float64 4kB 1.645e+09 ... 1.645e+09\n",
"│ field_name (time) <U32 69kB dask.array<chunksize=(540,), meta=np.ndarray>\n",
"│ scan_name (time) <U21 45kB dask.array<chunksize=(540,), meta=np.ndarray>\n",
"│ * baseline_id (baseline_id) int64 440B 0 1 2 3 ... 51 52 53 54\n",
"│ baseline_antenna1_name (baseline_id) <U2 440B dask.array<chunksize=(55,), meta=np.ndarray>\n",
"│ baseline_antenna2_name (baseline_id) <U2 440B dask.array<chunksize=(55,), meta=np.ndarray>\n",
"│ * frequency (frequency) float64 48B 5.068e+09 ... 5.07e+09\n",
"│ * polarization (polarization) <U2 16B 'RR' 'LL'\n",
"│ * uvw_label (uvw_label) <U1 12B 'u' 'v' 'w'\n",
"│ Data variables:\n",
"│ EFFECTIVE_INTEGRATION_TIME (time, baseline_id) float64 238kB dask.array<chunksize=(20, 55), meta=np.ndarray>\n",
"│ FLAG (time, baseline_id, frequency, polarization) bool 356kB dask.array<chunksize=(20, 55, 1, 2), meta=np.ndarray>\n",
"│ TIME_CENTROID (time, baseline_id) float64 238kB dask.array<chunksize=(20, 55), meta=np.ndarray>\n",
"│ UVW (time, baseline_id, uvw_label) float64 713kB dask.array<chunksize=(20, 55, 3), meta=np.ndarray>\n",
"│ VISIBILITY (time, baseline_id, frequency, polarization) complex64 3MB dask.array<chunksize=(20, 55, 1, 2), meta=np.ndarray>\n",
"│ WEIGHT (time, baseline_id, frequency, polarization) float32 1MB dask.array<chunksize=(20, 55, 1, 2), meta=np.ndarray>\n",
"│ Attributes:\n",
"│ creation_date: 2026-04-20T21:20:59.970221+00:00\n",
"│ creator: {'software_name': 'xradio', 'version': '1.1.3'}\n",
"│ data_groups: {'base': {'correlated_data': 'VISIBILITY', 'date': '20...\n",
"│ observation_info: {'observer': ['PLUTO'], 'observing_log': '[]', 'projec...\n",
"│ processor_info: {'sub_type': '', 'type': ''}\n",
"│ schema_version: 4.0.0\n",
"│ type: visibility\n",
"├── Group: /VLBA_TL016B_split_3/antenna_xds\n",
"│ Dimensions: (antenna_name: 10, cartesian_pos_label: 3,\n",
"│ receptor_label: 2)\n",
"│ Coordinates:\n",
"│ * antenna_name (antenna_name) <U2 80B 'BR' 'FD' 'HN' ... 'PT' 'SC'\n",
"│ mount (antenna_name) <U6 240B dask.array<chunksize=(10,), meta=np.ndarray>\n",
"│ station_name (antenna_name) <U2 80B dask.array<chunksize=(10,), meta=np.ndarray>\n",
"│ telescope_name (antenna_name) <U4 160B dask.array<chunksize=(10,), meta=np.ndarray>\n",
"│ * cartesian_pos_label (cartesian_pos_label) <U1 12B 'x' 'y' 'z'\n",
"│ * receptor_label (receptor_label) <U5 40B 'pol_0' 'pol_1'\n",
"│ polarization_type (antenna_name, receptor_label) <U1 80B dask.array<chunksize=(10, 2), meta=np.ndarray>\n",
"│ Data variables:\n",
"│ ANTENNA_DISH_DIAMETER (antenna_name) float64 80B dask.array<chunksize=(10,), meta=np.ndarray>\n",
"│ ANTENNA_POSITION (antenna_name, cartesian_pos_label) float64 240B dask.array<chunksize=(10, 3), meta=np.ndarray>\n",
"│ ANTENNA_RECEPTOR_ANGLE (antenna_name, receptor_label) float64 160B dask.array<chunksize=(10, 2), meta=np.ndarray>\n",
"│ Attributes:\n",
"│ overall_telescope_name: VLBA\n",
"│ relocatable_antennas: False\n",
"│ type: antenna\n",
"├── Group: /VLBA_TL016B_split_3/field_and_source_base_xds\n",
"│ Dimensions: (field_name: 1, sky_dir_label: 2)\n",
"│ Coordinates:\n",
"│ * field_name (field_name) <U32 128B 'J1154+6022_1'\n",
"│ source_name (field_name) <U7 28B dask.array<chunksize=(1,), meta=np.ndarray>\n",
"│ * sky_dir_label (sky_dir_label) <U3 24B 'ra' 'dec'\n",
"│ Data variables:\n",
"│ FIELD_PHASE_CENTER_DIRECTION (field_name, sky_dir_label) float64 16B dask.array<chunksize=(1, 2), meta=np.ndarray>\n",
"│ Attributes:\n",
"│ type: field_and_source\n",
"├── Group: /VLBA_TL016B_split_3/gain_curve_xds\n",
"│ Dimensions: (antenna_name: 10, poly_term: 1, receptor_label: 2)\n",
"│ Coordinates:\n",
"│ * antenna_name (antenna_name) <U2 80B 'BR' 'FD' 'HN' ... 'PT' 'SC'\n",
"│ antenna_id (antenna_name) int32 40B dask.array<chunksize=(10,), meta=np.ndarray>\n",
"│ gain_curve_type (antenna_name) <U9 360B dask.array<chunksize=(10,), meta=np.ndarray>\n",
"│ mount (antenna_name) <U6 240B dask.array<chunksize=(10,), meta=np.ndarray>\n",
"│ station_name (antenna_name) <U2 80B dask.array<chunksize=(10,), meta=np.ndarray>\n",
"│ telescope_name (antenna_name) <U4 160B dask.array<chunksize=(10,), meta=np.ndarray>\n",
"│ * receptor_label (receptor_label) <U5 40B 'pol_0' 'pol_1'\n",
"│ polarization_type (antenna_name, receptor_label) <U1 80B dask.array<chunksize=(10, 2), meta=np.ndarray>\n",
"│ Dimensions without coordinates: poly_term\n",
"│ Data variables:\n",
"│ GAIN_CURVE (antenna_name, poly_term, receptor_label) float64 160B dask.array<chunksize=(10, 1, 2), meta=np.ndarray>\n",
"│ GAIN_CURVE_INTERVAL (antenna_name) float64 80B dask.array<chunksize=(10,), meta=np.ndarray>\n",
"│ GAIN_CURVE_SENSITIVITY (antenna_name, receptor_label) float64 160B dask.array<chunksize=(10, 2), meta=np.ndarray>\n",
"│ Attributes:\n",
"│ measured_date: 2022-02-21T09:50:25\n",
"│ type: gain_curve\n",
"├── Group: /VLBA_TL016B_split_3/phase_calibration_xds\n",
"│ Dimensions: (antenna_name: 10, time_phase_cal: 141,\n",
"│ receptor_label: 2, tone_label: 2)\n",
"│ Coordinates:\n",
"│ * antenna_name (antenna_name) <U2 80B 'BR' 'FD' ... 'PT' 'SC'\n",
"│ antenna_id (antenna_name) int32 40B dask.array<chunksize=(10,), meta=np.ndarray>\n",
"│ mount (antenna_name) <U6 240B dask.array<chunksize=(10,), meta=np.ndarray>\n",
"│ station_name (antenna_name) <U2 80B dask.array<chunksize=(10,), meta=np.ndarray>\n",
"│ telescope_name (antenna_name) <U4 160B dask.array<chunksize=(10,), meta=np.ndarray>\n",
"│ * time_phase_cal (time_phase_cal) float64 1kB 1.645e+09 ... 1.64...\n",
"│ * receptor_label (receptor_label) <U5 40B 'pol_0' 'pol_1'\n",
"│ polarization_type (antenna_name, receptor_label) <U1 80B dask.array<chunksize=(10, 2), meta=np.ndarray>\n",
"│ * tone_label (tone_label) <U6 48B 'freq_0' 'freq_1'\n",
"│ Data variables:\n",
"│ PHASE_CAL (antenna_name, time_phase_cal, receptor_label, tone_label) complex64 45kB dask.array<chunksize=(10, 141, 2, 2), meta=np.ndarray>\n",
"│ PHASE_CAL_CABLE_CAL (antenna_name, time_phase_cal) float64 11kB dask.array<chunksize=(10, 141), meta=np.ndarray>\n",
"│ PHASE_CAL_INTERVAL (antenna_name, time_phase_cal) float64 11kB dask.array<chunksize=(10, 141), meta=np.ndarray>\n",
"│ PHASE_CAL_TONE_FREQUENCY (antenna_name, time_phase_cal, receptor_label, tone_label) float64 45kB dask.array<chunksize=(10, 141, 2, 2), meta=np.ndarray>\n",
"│ Attributes:\n",
"│ type: phase_calibration\n",
"├── Group: /VLBA_TL016B_split_3/system_calibration_xds\n",
"│ Dimensions: (antenna_name: 10, time_system_cal: 1192,\n",
"│ receptor_label: 2)\n",
"│ Coordinates:\n",
"│ * antenna_name (antenna_name) <U2 80B 'BR' 'FD' 'HN' ... 'OV' 'PT' 'SC'\n",
"│ antenna_id (antenna_name) int32 40B dask.array<chunksize=(10,), meta=np.ndarray>\n",
"│ mount (antenna_name) <U6 240B dask.array<chunksize=(10,), meta=np.ndarray>\n",
"│ station_name (antenna_name) <U2 80B dask.array<chunksize=(10,), meta=np.ndarray>\n",
"│ telescope_name (antenna_name) <U4 160B dask.array<chunksize=(10,), meta=np.ndarray>\n",
"│ * time_system_cal (time_system_cal) float64 10kB 1.645e+09 ... 1.645e+09\n",
"│ * receptor_label (receptor_label) <U5 40B 'pol_0' 'pol_1'\n",
"│ polarization_type (antenna_name, receptor_label) <U1 80B dask.array<chunksize=(10, 2), meta=np.ndarray>\n",
"│ Data variables:\n",
"│ TSYS (antenna_name, time_system_cal, receptor_label) float64 191kB dask.array<chunksize=(10, 1192, 2), meta=np.ndarray>\n",
"│ Attributes:\n",
"│ type: system_calibration\n",
"└── Group: /VLBA_TL016B_split_3/weather_xds\n",
" Dimensions: (station_name: 10, time_weather: 856,\n",
" cartesian_pos_label: 3)\n",
" Coordinates:\n",
" * station_name (station_name) <U2 80B 'BR' 'FD' 'HN' ... 'PT' 'SC'\n",
" * time_weather (time_weather) float64 7kB 1.645e+09 ... 1.645e+09\n",
" * cartesian_pos_label (cartesian_pos_label) <U1 12B 'x' 'y' 'z'\n",
" Data variables:\n",
" DEW_POINT (station_name, time_weather) float64 68kB dask.array<chunksize=(10, 856), meta=np.ndarray>\n",
" H2O (station_name, time_weather) float64 68kB dask.array<chunksize=(10, 856), meta=np.ndarray>\n",
" IONOS_ELECTRON (station_name, time_weather) float64 68kB dask.array<chunksize=(10, 856), meta=np.ndarray>\n",
" PRESSURE (station_name, time_weather) float64 68kB dask.array<chunksize=(10, 856), meta=np.ndarray>\n",
" STATION_POSITION (station_name, cartesian_pos_label) float64 240B dask.array<chunksize=(10, 3), meta=np.ndarray>\n",
" TEMPERATURE (station_name, time_weather) float64 68kB dask.array<chunksize=(10, 856), meta=np.ndarray>\n",
" WIND_DIRECTION (station_name, time_weather) float64 68kB dask.array<chunksize=(10, 856), meta=np.ndarray>\n",
" WIND_SPEED (station_name, time_weather) float64 68kB dask.array<chunksize=(10, 856), meta=np.ndarray>\n",
" Attributes:\n",
" type: weather<xarray.DatasetView> Size: 6kB\n",
"Dimensions: (antenna_name: 10, cartesian_pos_label: 3,\n",
" receptor_label: 2, baseline_id: 55, frequency: 6,\n",
" polarization: 2, time: 540, uvw_label: 3)\n",
"Coordinates:\n",
" * antenna_name (antenna_name) <U2 80B 'BR' 'FD' 'HN' ... 'PT' 'SC'\n",
" mount (antenna_name) <U6 240B dask.array<chunksize=(10,), meta=np.ndarray>\n",
" station_name (antenna_name) <U2 80B dask.array<chunksize=(10,), meta=np.ndarray>\n",
" telescope_name (antenna_name) <U4 160B dask.array<chunksize=(10,), meta=np.ndarray>\n",
" * cartesian_pos_label (cartesian_pos_label) <U1 12B 'x' 'y' 'z'\n",
" * receptor_label (receptor_label) <U5 40B 'pol_0' 'pol_1'\n",
" polarization_type (antenna_name, receptor_label) <U1 80B dask.array<chunksize=(10, 2), meta=np.ndarray>\n",
" * baseline_id (baseline_id) int64 440B 0 1 2 3 4 ... 51 52 53 54\n",
" * frequency (frequency) float64 48B 5.068e+09 ... 5.07e+09\n",
" * polarization (polarization) <U2 16B 'RR' 'LL'\n",
" * time (time) float64 4kB 1.645e+09 1.645e+09 ... 1.645e+09\n",
" * uvw_label (uvw_label) <U1 12B 'u' 'v' 'w'\n",
"Data variables:\n",
" ANTENNA_DISH_DIAMETER (antenna_name) float64 80B dask.array<chunksize=(10,), meta=np.ndarray>\n",
" ANTENNA_POSITION (antenna_name, cartesian_pos_label) float64 240B dask.array<chunksize=(10, 3), meta=np.ndarray>\n",
" ANTENNA_RECEPTOR_ANGLE (antenna_name, receptor_label) float64 160B dask.array<chunksize=(10, 2), meta=np.ndarray>\n",
"Attributes:\n",
" overall_telescope_name: VLBA\n",
" relocatable_antennas: False\n",
" type: antenna<xarray.DataArray 'ANTENNA_POSITION' (antenna_name: 10, cartesian_pos_label: 3)> Size: 240B\n",
"dask.array<open_dataset-ANTENNA_POSITION, shape=(10, 3), dtype=float64, chunksize=(10, 3), chunktype=numpy.ndarray>\n",
"Coordinates:\n",
" * antenna_name (antenna_name) <U2 80B 'BR' 'FD' 'HN' ... 'PT' 'SC'\n",
" mount (antenna_name) <U6 240B dask.array<chunksize=(10,), meta=np.ndarray>\n",
" station_name (antenna_name) <U2 80B dask.array<chunksize=(10,), meta=np.ndarray>\n",
" telescope_name (antenna_name) <U4 160B dask.array<chunksize=(10,), meta=np.ndarray>\n",
" * cartesian_pos_label (cartesian_pos_label) <U1 12B 'x' 'y' 'z'\n",
"Attributes:\n",
" coordinate_system: geocentric\n",
" frame: ITRS\n",
" origin_object_name: earth\n",
" type: location\n",
" units: m<xarray.DataArray 'ANTENNA_POSITION' (antenna_name: 10, cartesian_pos_label: 3)> Size: 240B\n",
"array([[-2112065.339753, -3705356.513964, 4726813.595927],\n",
" [-1324009.438905, -5332181.956657, 3231962.338382],\n",
" [ 1446374.723555, -4447939.69817 , 4322306.215011],\n",
" [-1995678.95979 , -5037317.696765, 3357327.949827],\n",
" [-1449752.711882, -4975298.576836, 3709123.785811],\n",
" [-5464075.303632, -2495247.54864 , 2148297.629883],\n",
" [ -130872.637324, -4762317.087915, 4226850.972202],\n",
" [-2409150.566965, -4478573.065876, 3838617.29146 ],\n",
" [-1640954.066439, -5014816.028293, 3575411.724719],\n",
" [ 2607848.714994, -5488069.460221, 1932739.843634]])\n",
"Coordinates:\n",
" * antenna_name (antenna_name) <U2 80B 'BR' 'FD' 'HN' ... 'PT' 'SC'\n",
" mount (antenna_name) <U6 240B 'ALT-AZ' 'ALT-AZ' ... 'ALT-AZ'\n",
" station_name (antenna_name) <U2 80B 'BR' 'FD' 'HN' ... 'PT' 'SC'\n",
" telescope_name (antenna_name) <U4 160B 'VLBA' 'VLBA' ... 'VLBA' 'VLBA'\n",
" * cartesian_pos_label (cartesian_pos_label) <U1 12B 'x' 'y' 'z'\n",
"Attributes:\n",
" coordinate_system: geocentric\n",
" frame: ITRS\n",
" origin_object_name: earth\n",
" type: location\n",
" units: m"
],
"text/plain": [
"<xarray.DataArray 'ANTENNA_RECEPTOR_ANGLE' (antenna_name: 10, receptor_label: 2)> Size: 160B\n",
"dask.array<open_dataset-ANTENNA_RECEPTOR_ANGLE, shape=(10, 2), dtype=float64, chunksize=(10, 2), chunktype=numpy.ndarray>\n",
"Coordinates:\n",
" * antenna_name (antenna_name) <U2 80B 'BR' 'FD' 'HN' ... 'OV' 'PT' 'SC'\n",
" mount (antenna_name) <U6 240B 'ALT-AZ' 'ALT-AZ' ... 'ALT-AZ'\n",
" station_name (antenna_name) <U2 80B 'BR' 'FD' 'HN' ... 'OV' 'PT' 'SC'\n",
" telescope_name (antenna_name) <U4 160B 'VLBA' 'VLBA' ... 'VLBA' 'VLBA'\n",
" * receptor_label (receptor_label) <U5 40B 'pol_0' 'pol_1'\n",
" polarization_type (antenna_name, receptor_label) <U1 80B dask.array<chunksize=(10, 2), meta=np.ndarray>\n",
"Attributes:\n",
" type: quantity\n",
" units: rad"
],
"text/plain": [
"<xarray.DatasetView> Size: 5kB\n",
"Dimensions: (field_name: 1, sky_dir_label: 2,\n",
" baseline_id: 55, frequency: 6,\n",
" polarization: 2, time: 540, uvw_label: 3)\n",
"Coordinates:\n",
" * field_name (field_name) <U32 128B 'J1154+6022_1'\n",
" source_name (field_name) <U7 28B dask.array<chunksize=(1,), meta=np.ndarray>\n",
" * sky_dir_label (sky_dir_label) <U3 24B 'ra' 'dec'\n",
" * baseline_id (baseline_id) int64 440B 0 1 2 3 ... 52 53 54\n",
" * frequency (frequency) float64 48B 5.068e+09 ... 5.07e+09\n",
" * polarization (polarization) <U2 16B 'RR' 'LL'\n",
" * time (time) float64 4kB 1.645e+09 ... 1.645e+09\n",
" * uvw_label (uvw_label) <U1 12B 'u' 'v' 'w'\n",
"Data variables:\n",
" FIELD_PHASE_CENTER_DIRECTION (field_name, sky_dir_label) float64 16B dask.array<chunksize=(1, 2), meta=np.ndarray>\n",
"Attributes:\n",
" type: field_and_source<xarray.DataTree 'weather_xds'>\n",
"Group: /VLBA_TL016B_split_3/weather_xds\n",
" Dimensions: (time: 540, baseline_id: 55, frequency: 6,\n",
" polarization: 2, uvw_label: 3, station_name: 10,\n",
" time_weather: 856, cartesian_pos_label: 3)\n",
" Coordinates:\n",
" * station_name (station_name) <U2 80B 'BR' 'FD' 'HN' ... 'PT' 'SC'\n",
" * time_weather (time_weather) float64 7kB 1.645e+09 ... 1.645e+09\n",
" * cartesian_pos_label (cartesian_pos_label) <U1 12B 'x' 'y' 'z'\n",
" Inherited coordinates:\n",
" * baseline_id (baseline_id) int64 440B 0 1 2 3 4 5 ... 50 51 52 53 54\n",
" * frequency (frequency) float64 48B 5.068e+09 ... 5.07e+09\n",
" * polarization (polarization) <U2 16B 'RR' 'LL'\n",
" * time (time) float64 4kB 1.645e+09 1.645e+09 ... 1.645e+09\n",
" * uvw_label (uvw_label) <U1 12B 'u' 'v' 'w'\n",
" Data variables:\n",
" DEW_POINT (station_name, time_weather) float64 68kB dask.array<chunksize=(10, 856), meta=np.ndarray>\n",
" H2O (station_name, time_weather) float64 68kB dask.array<chunksize=(10, 856), meta=np.ndarray>\n",
" IONOS_ELECTRON (station_name, time_weather) float64 68kB dask.array<chunksize=(10, 856), meta=np.ndarray>\n",
" PRESSURE (station_name, time_weather) float64 68kB dask.array<chunksize=(10, 856), meta=np.ndarray>\n",
" STATION_POSITION (station_name, cartesian_pos_label) float64 240B dask.array<chunksize=(10, 3), meta=np.ndarray>\n",
" TEMPERATURE (station_name, time_weather) float64 68kB dask.array<chunksize=(10, 856), meta=np.ndarray>\n",
" WIND_DIRECTION (station_name, time_weather) float64 68kB dask.array<chunksize=(10, 856), meta=np.ndarray>\n",
" WIND_SPEED (station_name, time_weather) float64 68kB dask.array<chunksize=(10, 856), meta=np.ndarray>\n",
" Attributes:\n",
" type: weather<xarray.DatasetView> Size: 491kB\n",
"Dimensions: (station_name: 10, time_weather: 856,\n",
" cartesian_pos_label: 3, baseline_id: 55,\n",
" frequency: 6, polarization: 2, time: 540, uvw_label: 3)\n",
"Coordinates:\n",
" * station_name (station_name) <U2 80B 'BR' 'FD' 'HN' ... 'PT' 'SC'\n",
" * time_weather (time_weather) float64 7kB 1.645e+09 ... 1.645e+09\n",
" * cartesian_pos_label (cartesian_pos_label) <U1 12B 'x' 'y' 'z'\n",
" * baseline_id (baseline_id) int64 440B 0 1 2 3 4 5 ... 50 51 52 53 54\n",
" * frequency (frequency) float64 48B 5.068e+09 ... 5.07e+09\n",
" * polarization (polarization) <U2 16B 'RR' 'LL'\n",
" * time (time) float64 4kB 1.645e+09 1.645e+09 ... 1.645e+09\n",
" * uvw_label (uvw_label) <U1 12B 'u' 'v' 'w'\n",
"Data variables:\n",
" DEW_POINT (station_name, time_weather) float64 68kB dask.array<chunksize=(10, 856), meta=np.ndarray>\n",
" H2O (station_name, time_weather) float64 68kB dask.array<chunksize=(10, 856), meta=np.ndarray>\n",
" IONOS_ELECTRON (station_name, time_weather) float64 68kB dask.array<chunksize=(10, 856), meta=np.ndarray>\n",
" PRESSURE (station_name, time_weather) float64 68kB dask.array<chunksize=(10, 856), meta=np.ndarray>\n",
" STATION_POSITION (station_name, cartesian_pos_label) float64 240B dask.array<chunksize=(10, 3), meta=np.ndarray>\n",
" TEMPERATURE (station_name, time_weather) float64 68kB dask.array<chunksize=(10, 856), meta=np.ndarray>\n",
" WIND_DIRECTION (station_name, time_weather) float64 68kB dask.array<chunksize=(10, 856), meta=np.ndarray>\n",
" WIND_SPEED (station_name, time_weather) float64 68kB dask.array<chunksize=(10, 856), meta=np.ndarray>\n",
"Attributes:\n",
" type: weather<xarray.DatasetView> Size: 6kB\n",
"Dimensions: (antenna_name: 10, poly_term: 1, receptor_label: 2,\n",
" baseline_id: 55, frequency: 6, polarization: 2,\n",
" time: 540, uvw_label: 3)\n",
"Coordinates: (12/13)\n",
" * antenna_name (antenna_name) <U2 80B 'BR' 'FD' 'HN' ... 'PT' 'SC'\n",
" antenna_id (antenna_name) int32 40B dask.array<chunksize=(10,), meta=np.ndarray>\n",
" gain_curve_type (antenna_name) <U9 360B dask.array<chunksize=(10,), meta=np.ndarray>\n",
" mount (antenna_name) <U6 240B dask.array<chunksize=(10,), meta=np.ndarray>\n",
" station_name (antenna_name) <U2 80B dask.array<chunksize=(10,), meta=np.ndarray>\n",
" telescope_name (antenna_name) <U4 160B dask.array<chunksize=(10,), meta=np.ndarray>\n",
" ... ...\n",
" polarization_type (antenna_name, receptor_label) <U1 80B dask.array<chunksize=(10, 2), meta=np.ndarray>\n",
" * baseline_id (baseline_id) int64 440B 0 1 2 3 4 ... 51 52 53 54\n",
" * frequency (frequency) float64 48B 5.068e+09 ... 5.07e+09\n",
" * polarization (polarization) <U2 16B 'RR' 'LL'\n",
" * time (time) float64 4kB 1.645e+09 1.645e+09 ... 1.645e+09\n",
" * uvw_label (uvw_label) <U1 12B 'u' 'v' 'w'\n",
"Dimensions without coordinates: poly_term\n",
"Data variables:\n",
" GAIN_CURVE (antenna_name, poly_term, receptor_label) float64 160B dask.array<chunksize=(10, 1, 2), meta=np.ndarray>\n",
" GAIN_CURVE_INTERVAL (antenna_name) float64 80B dask.array<chunksize=(10,), meta=np.ndarray>\n",
" GAIN_CURVE_SENSITIVITY (antenna_name, receptor_label) float64 160B dask.array<chunksize=(10, 2), meta=np.ndarray>\n",
"Attributes:\n",
" measured_date: 2022-02-21T09:50:25\n",
" type: gain_curve<xarray.DataTree 'phase_calibration_xds'>\n",
"Group: /VLBA_TL016B_split_3/phase_calibration_xds\n",
" Dimensions: (time: 540, baseline_id: 55, frequency: 6,\n",
" polarization: 2, uvw_label: 3, antenna_name: 10,\n",
" time_phase_cal: 141, receptor_label: 2,\n",
" tone_label: 2)\n",
" Coordinates:\n",
" * antenna_name (antenna_name) <U2 80B 'BR' 'FD' ... 'PT' 'SC'\n",
" antenna_id (antenna_name) int32 40B dask.array<chunksize=(10,), meta=np.ndarray>\n",
" mount (antenna_name) <U6 240B dask.array<chunksize=(10,), meta=np.ndarray>\n",
" station_name (antenna_name) <U2 80B dask.array<chunksize=(10,), meta=np.ndarray>\n",
" telescope_name (antenna_name) <U4 160B dask.array<chunksize=(10,), meta=np.ndarray>\n",
" * time_phase_cal (time_phase_cal) float64 1kB 1.645e+09 ... 1.64...\n",
" * receptor_label (receptor_label) <U5 40B 'pol_0' 'pol_1'\n",
" polarization_type (antenna_name, receptor_label) <U1 80B dask.array<chunksize=(10, 2), meta=np.ndarray>\n",
" * tone_label (tone_label) <U6 48B 'freq_0' 'freq_1'\n",
" Inherited coordinates:\n",
" * baseline_id (baseline_id) int64 440B 0 1 2 3 4 ... 51 52 53 54\n",
" * frequency (frequency) float64 48B 5.068e+09 ... 5.07e+09\n",
" * polarization (polarization) <U2 16B 'RR' 'LL'\n",
" * time (time) float64 4kB 1.645e+09 ... 1.645e+09\n",
" * uvw_label (uvw_label) <U1 12B 'u' 'v' 'w'\n",
" Data variables:\n",
" PHASE_CAL (antenna_name, time_phase_cal, receptor_label, tone_label) complex64 45kB dask.array<chunksize=(10, 141, 2, 2), meta=np.ndarray>\n",
" PHASE_CAL_CABLE_CAL (antenna_name, time_phase_cal) float64 11kB dask.array<chunksize=(10, 141), meta=np.ndarray>\n",
" PHASE_CAL_INTERVAL (antenna_name, time_phase_cal) float64 11kB dask.array<chunksize=(10, 141), meta=np.ndarray>\n",
" PHASE_CAL_TONE_FREQUENCY (antenna_name, time_phase_cal, receptor_label, tone_label) float64 45kB dask.array<chunksize=(10, 141, 2, 2), meta=np.ndarray>\n",
" Attributes:\n",
" type: phase_calibration<xarray.DataTree 'system_calibration_xds'>\n",
"Group: /VLBA_TL016B_split_3/system_calibration_xds\n",
" Dimensions: (time: 540, baseline_id: 55, frequency: 6,\n",
" polarization: 2, uvw_label: 3, antenna_name: 10,\n",
" time_system_cal: 1192, receptor_label: 2)\n",
" Coordinates:\n",
" * antenna_name (antenna_name) <U2 80B 'BR' 'FD' 'HN' ... 'OV' 'PT' 'SC'\n",
" antenna_id (antenna_name) int32 40B dask.array<chunksize=(10,), meta=np.ndarray>\n",
" mount (antenna_name) <U6 240B dask.array<chunksize=(10,), meta=np.ndarray>\n",
" station_name (antenna_name) <U2 80B dask.array<chunksize=(10,), meta=np.ndarray>\n",
" telescope_name (antenna_name) <U4 160B dask.array<chunksize=(10,), meta=np.ndarray>\n",
" * time_system_cal (time_system_cal) float64 10kB 1.645e+09 ... 1.645e+09\n",
" * receptor_label (receptor_label) <U5 40B 'pol_0' 'pol_1'\n",
" polarization_type (antenna_name, receptor_label) <U1 80B dask.array<chunksize=(10, 2), meta=np.ndarray>\n",
" Inherited coordinates:\n",
" * baseline_id (baseline_id) int64 440B 0 1 2 3 4 5 ... 50 51 52 53 54\n",
" * frequency (frequency) float64 48B 5.068e+09 5.068e+09 ... 5.07e+09\n",
" * polarization (polarization) <U2 16B 'RR' 'LL'\n",
" * time (time) float64 4kB 1.645e+09 1.645e+09 ... 1.645e+09\n",
" * uvw_label (uvw_label) <U1 12B 'u' 'v' 'w'\n",
" Data variables:\n",
" TSYS (antenna_name, time_system_cal, receptor_label) float64 191kB dask.array<chunksize=(10, 1192, 2), meta=np.ndarray>\n",
" Attributes:\n",
" type: system_calibration