{ "cells": [ { "cell_type": "markdown", "id": "65fca704-19af-4e41-b080-b3ff70d7eecf", "metadata": {}, "source": [ "# Single dish (GBT) 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.12a0 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": [ "https://open-bitbucket.nrao.edu/projects/CASA/repos/casatestdata/browse/unittest/tclean/venus_ephem_test.ms" ] }, { "cell_type": "code", "execution_count": 2, "id": "134a99e3-c5a2-443c-96d4-f44fae59555a", "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[\u001b[38;2;128;05;128m2026-01-21 13:11:10,176\u001b[0m] \u001b[38;2;50;50;205m INFO\u001b[0m\u001b[38;2;112;128;144m viperlog: \u001b[0m Downloading from [cloudflare] .... \n" ] }, { "data": { "text/html": [ "
                 \n",
       "  Download List  \n",
       " ─────────────── \n",
       "  sdimaging.ms   \n",
       "                 \n",
       "
\n" ], "text/plain": [ " \n", " \u001b[1m \u001b[0m\u001b[1mDownload List\u001b[0m\u001b[1m \u001b[0m \n", " ─────────────── \n", " \u001b[35msdimaging.ms\u001b[0m \n", " \n" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "[\u001b[38;2;128;05;128m2026-01-21 13:11:10,179\u001b[0m] \u001b[38;2;50;50;205m INFO\u001b[0m\u001b[38;2;112;128;144m viperlog: \u001b[0m File exists: sdimaging.ms \n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "9da66753ecec4c30868eeabffaf75746", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Output()" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": []
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import toolviper\n",
    "\n",
    "toolviper.utils.data.download(file=\"sdimaging.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-01-21 13:11:11,120\u001b[0m] \u001b[38;2;50;50;205m    INFO\u001b[0m\u001b[38;2;112;128;144m    viperlog: \u001b[0m Updated partition scheme used: ['DATA_DESC_ID', 'OBS_MODE', 'OBSERVATION_ID'] \n",
      "[\u001b[38;2;128;05;128m2026-01-21 13:11:11,122\u001b[0m] \u001b[38;2;50;50;205m    INFO\u001b[0m\u001b[38;2;112;128;144m    viperlog: \u001b[0m Number of partitions: 1 \n",
      "[\u001b[38;2;128;05;128m2026-01-21 13:11:11,122\u001b[0m] \u001b[38;2;50;50;205m    INFO\u001b[0m\u001b[38;2;112;128;144m    viperlog: \u001b[0m OBSERVATION_ID [0], DDI [0], STATE [0], FIELD [0], SCAN [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61], EPHEMERIS [None] \n",
      "[\u001b[38;2;128;05;128m2026-01-21 13:11:11,417\u001b[0m] \u001b[38;2;255;160;0m WARNING\u001b[0m\u001b[38;2;112;128;144m    viperlog: \u001b[0m Doppler table present. Please open an issue on https://github.com/casangi/xradio/issues so that we can add support for this. \n"
     ]
    }
   ],
   "source": [
    "from xradio.measurement_set import convert_msv2_to_processing_set\n",
    "\n",
    "ms_file = \"sdimaging.ms\"\n",
    "\n",
    "main_chunksize = {\"time\": 63}  # baseline, polarization\n",
    "outfile = \"sdimaging.ps.zarr\"\n",
    "convert_msv2_to_processing_set(\n",
    "    in_file=ms_file,\n",
    "    out_file=outfile,\n",
    "    parallel_mode=\"none\",\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", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
namescan_intentsshapeexecution_block_UIDpolarizationscan_namespw_namespw_intentsfield_namesource_nameline_namefield_coordssession_reference_UIDscheduling_block_UIDproject_UIDstart_frequencyend_frequency
0sdimaging_0[OBSERVE_TARGET_ON_SOURCE, FREQUENCY_SWITCH_SIG](3843, 1, 1024, 2)---[XX, YY][1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2,...spw_0[UNSPECIFIED][FLS3a_0][FLS3a_0][][fk5, 0h00m00.00s, 0d00m00.00s]------1.419395e+091.421893e+09
\n", "
" ], "text/plain": [ " name scan_intents \\\n", "0 sdimaging_0 [OBSERVE_TARGET_ON_SOURCE, FREQUENCY_SWITCH_SIG] \n", "\n", " shape execution_block_UID polarization \\\n", "0 (3843, 1, 1024, 2) --- [XX, YY] \n", "\n", " scan_name spw_name spw_intents \\\n", "0 [1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2,... spw_0 [UNSPECIFIED] \n", "\n", " field_name source_name line_name field_coords \\\n", "0 [FLS3a_0] [FLS3a_0] [] [fk5, 0h00m00.00s, 0d00m00.00s] \n", "\n", " session_reference_UID scheduling_block_UID project_UID start_frequency \\\n", "0 --- --- 1.419395e+09 \n", "\n", " end_frequency \n", "0 1.421893e+09 " ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from xradio.measurement_set import open_processing_set\n", "\n", "outfile = \"sdimaging.ps.zarr\"\n", "ps_xdt = open_processing_set(ps_store=outfile)\n", "ps_xdt.xr_ps.summary()" ] }, { "cell_type": "code", "execution_count": 5, "id": "259aa56b", "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.DataTree 'sdimaging_0'>\n",
       "Group: /sdimaging_0\n",
       "│   Dimensions:                     (time: 3843, antenna_name: 1, frequency: 1024,\n",
       "│                                    polarization: 2)\n",
       "│   Coordinates:\n",
       "│     * time                        (time) float64 31kB 1.069e+09 ... 1.069e+09\n",
       "│     * antenna_name                (antenna_name) <U3 12B 'GBT'\n",
       "│     * frequency                   (frequency) float64 8kB 1.419e+09 ... 1.422e+09\n",
       "│     * polarization                (polarization) <U2 16B 'XX' 'YY'\n",
       "│       field_name                  (time) <U27 415kB dask.array<chunksize=(1922,), meta=np.ndarray>\n",
       "│       scan_name                   (time) <U21 323kB dask.array<chunksize=(1922,), meta=np.ndarray>\n",
       "│       telescope_name              (antenna_name) <U3 12B dask.array<chunksize=(1,), meta=np.ndarray>\n",
       "│   Data variables:\n",
       "│       EFFECTIVE_INTEGRATION_TIME  (time, antenna_name) float64 31kB dask.array<chunksize=(63, 1), meta=np.ndarray>\n",
       "│       FLAG                        (time, antenna_name, frequency, polarization) bool 8MB dask.array<chunksize=(63, 1, 1024, 2), meta=np.ndarray>\n",
       "│       SPECTRUM                    (time, antenna_name, frequency, polarization) float32 31MB dask.array<chunksize=(63, 1, 1024, 2), meta=np.ndarray>\n",
       "│       TIME_CENTROID               (time, antenna_name) float64 31kB dask.array<chunksize=(63, 1), meta=np.ndarray>\n",
       "│       WEIGHT                      (time, antenna_name, frequency, polarization) float32 31MB dask.array<chunksize=(63, 1, 1024, 2), meta=np.ndarray>\n",
       "│   Attributes:\n",
       "│       creation_date:     2026-01-21T18:11:11.140206+00:00\n",
       "│       creator:           {'software_name': 'xradio', 'version': '1.1.12a0'}\n",
       "│       data_groups:       {'base': {'correlated_data': 'SPECTRUM', 'date': '2026...\n",
       "│       observation_info:  {'observer': ['AGBT02A_031_12'], 'observing_log': '[]'...\n",
       "│       processor_info:    {'sub_type': '', 'type': ''}\n",
       "│       schema_version:    4.0.0\n",
       "│       type:              spectrum\n",
       "├── Group: /sdimaging_0/antenna_xds\n",
       "│       Dimensions:                 (antenna_name: 1, cartesian_pos_label: 3,\n",
       "│                                    receptor_label: 2)\n",
       "│       Coordinates:\n",
       "│         * cartesian_pos_label     (cartesian_pos_label) <U1 12B 'x' 'y' 'z'\n",
       "│         * receptor_label          (receptor_label) <U5 40B 'pol_0' 'pol_1'\n",
       "│           mount                   (antenna_name) <U6 24B dask.array<chunksize=(1,), meta=np.ndarray>\n",
       "│           polarization_type       (antenna_name, receptor_label) <U1 8B dask.array<chunksize=(1, 2), meta=np.ndarray>\n",
       "│           station_name            (antenna_name) <U9 36B dask.array<chunksize=(1,), meta=np.ndarray>\n",
       "│           telescope_name          (antenna_name) <U3 12B dask.array<chunksize=(1,), meta=np.ndarray>\n",
       "│       Data variables:\n",
       "│           ANTENNA_DISH_DIAMETER   (antenna_name) float64 8B dask.array<chunksize=(1,), meta=np.ndarray>\n",
       "│           ANTENNA_POSITION        (antenna_name, cartesian_pos_label) float64 24B dask.array<chunksize=(1, 3), meta=np.ndarray>\n",
       "│           ANTENNA_RECEPTOR_ANGLE  (antenna_name, receptor_label) float64 16B dask.array<chunksize=(1, 2), meta=np.ndarray>\n",
       "│       Attributes:\n",
       "│           overall_telescope_name:  GBT\n",
       "│           relocatable_antennas:    False\n",
       "│           type:                    antenna\n",
       "├── Group: /sdimaging_0/field_and_source_base_xds\n",
       "│       Dimensions:                           (field_name: 1, sky_dir_label: 2,\n",
       "│                                              line_label: 1)\n",
       "│       Coordinates:\n",
       "│         * field_name                        (field_name) <U27 108B 'FLS3a_0'\n",
       "│         * sky_dir_label                     (sky_dir_label) <U3 24B 'ra' 'dec'\n",
       "│         * line_label                        (line_label) <U21 84B '0'\n",
       "│           line_name                         (field_name, line_label) <U1 4B dask.array<chunksize=(1, 1), meta=np.ndarray>\n",
       "│           source_name                       (field_name) <U27 108B dask.array<chunksize=(1,), meta=np.ndarray>\n",
       "│       Data variables:\n",
       "│           FIELD_REFERENCE_CENTER_DIRECTION  (field_name, sky_dir_label) float64 16B dask.array<chunksize=(1, 2), meta=np.ndarray>\n",
       "│           LINE_REST_FREQUENCY               (field_name, line_label) float64 8B dask.array<chunksize=(1, 1), meta=np.ndarray>\n",
       "│           LINE_SYSTEMIC_VELOCITY            (field_name, line_label) float64 8B dask.array<chunksize=(1, 1), meta=np.ndarray>\n",
       "│           SOURCE_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: /sdimaging_0/pointing_xds\n",
       "│       Dimensions:              (time_pointing: 3843, antenna_name: 1,\n",
       "│                                 local_sky_dir_label: 2)\n",
       "│       Coordinates:\n",
       "│         * time_pointing        (time_pointing) float64 31kB 1.069e+09 ... 1.069e+09\n",
       "│         * local_sky_dir_label  (local_sky_dir_label) <U3 24B 'az' 'alt'\n",
       "│       Data variables:\n",
       "│           POINTING_BEAM        (time_pointing, antenna_name, local_sky_dir_label) float64 61kB dask.array<chunksize=(3843, 1, 2), meta=np.ndarray>\n",
       "│       Attributes:\n",
       "│           type:     pointing\n",
       "├── Group: /sdimaging_0/system_calibration_xds\n",
       "│       Dimensions:               (antenna_name: 1, time_system_cal: 3843,\n",
       "│                                  receptor_label: 2, frequency_system_cal: 1)\n",
       "│       Coordinates:\n",
       "│         * time_system_cal       (time_system_cal) float64 31kB 1.069e+09 ... 1.069e+09\n",
       "│         * receptor_label        (receptor_label) <U5 40B 'pol_0' 'pol_1'\n",
       "│         * frequency_system_cal  (frequency_system_cal) int64 8B 0\n",
       "│           antenna_id            (antenna_name) int32 4B dask.array<chunksize=(1,), meta=np.ndarray>\n",
       "│           mount                 (antenna_name) <U6 24B dask.array<chunksize=(1,), meta=np.ndarray>\n",
       "│           polarization_type     (antenna_name, receptor_label) <U1 8B dask.array<chunksize=(1, 2), meta=np.ndarray>\n",
       "│           station_name          (antenna_name) <U9 36B dask.array<chunksize=(1,), meta=np.ndarray>\n",
       "│           telescope_name        (antenna_name) <U3 12B dask.array<chunksize=(1,), meta=np.ndarray>\n",
       "│       Data variables:\n",
       "│           TCAL                  (antenna_name, time_system_cal, receptor_label, frequency_system_cal) float64 61kB dask.array<chunksize=(1, 3843, 2, 1), meta=np.ndarray>\n",
       "│           TSYS                  (antenna_name, time_system_cal, receptor_label, frequency_system_cal) float64 61kB dask.array<chunksize=(1, 3843, 2, 1), meta=np.ndarray>\n",
       "│       Attributes:\n",
       "│           type:     system_calibration\n",
       "└── Group: /sdimaging_0/weather_xds\n",
       "        Dimensions:              (station_name: 1, time_weather: 1,\n",
       "                                  cartesian_pos_label: 3)\n",
       "        Coordinates:\n",
       "          * station_name         (station_name) <U9 36B 'GREENBANK'\n",
       "          * time_weather         (time_weather) float64 8B 1.069e+09\n",
       "          * cartesian_pos_label  (cartesian_pos_label) <U1 12B 'x' 'y' 'z'\n",
       "        Data variables:\n",
       "            PRESSURE             (station_name, time_weather) float64 8B dask.array<chunksize=(1, 1), meta=np.ndarray>\n",
       "            REL_HUMIDITY         (station_name, time_weather) float64 8B dask.array<chunksize=(1, 1), meta=np.ndarray>\n",
       "            STATION_POSITION     (station_name, cartesian_pos_label) float64 24B dask.array<chunksize=(1, 3), meta=np.ndarray>\n",
       "            TEMPERATURE          (station_name, time_weather) float64 8B dask.array<chunksize=(1, 1), meta=np.ndarray>\n",
       "            WIND_DIRECTION       (station_name, time_weather) float64 8B dask.array<chunksize=(1, 1), meta=np.ndarray>\n",
       "            WIND_SPEED           (station_name, time_weather) float64 8B dask.array<chunksize=(1, 1), meta=np.ndarray>\n",
       "        Attributes:\n",
       "            type:     weather
" ], "text/plain": [ "\n", "Group: /sdimaging_0\n", "│ Dimensions: (time: 3843, antenna_name: 1, frequency: 1024,\n", "│ polarization: 2)\n", "│ Coordinates:\n", "│ * time (time) float64 31kB 1.069e+09 ... 1.069e+09\n", "│ * antenna_name (antenna_name) \n", "│ scan_name (time) \n", "│ telescope_name (antenna_name) \n", "│ Data variables:\n", "│ EFFECTIVE_INTEGRATION_TIME (time, antenna_name) float64 31kB dask.array\n", "│ FLAG (time, antenna_name, frequency, polarization) bool 8MB dask.array\n", "│ SPECTRUM (time, antenna_name, frequency, polarization) float32 31MB dask.array\n", "│ TIME_CENTROID (time, antenna_name) float64 31kB dask.array\n", "│ WEIGHT (time, antenna_name, frequency, polarization) float32 31MB dask.array\n", "│ Attributes:\n", "│ creation_date: 2026-01-21T18:11:11.140206+00:00\n", "│ creator: {'software_name': 'xradio', 'version': '1.1.12a0'}\n", "│ data_groups: {'base': {'correlated_data': 'SPECTRUM', 'date': '2026...\n", "│ observation_info: {'observer': ['AGBT02A_031_12'], 'observing_log': '[]'...\n", "│ processor_info: {'sub_type': '', 'type': ''}\n", "│ schema_version: 4.0.0\n", "│ type: spectrum\n", "├── Group: /sdimaging_0/antenna_xds\n", "│ Dimensions: (antenna_name: 1, cartesian_pos_label: 3,\n", "│ receptor_label: 2)\n", "│ Coordinates:\n", "│ * cartesian_pos_label (cartesian_pos_label) \n", "│ polarization_type (antenna_name, receptor_label) \n", "│ station_name (antenna_name) \n", "│ telescope_name (antenna_name) \n", "│ Data variables:\n", "│ ANTENNA_DISH_DIAMETER (antenna_name) float64 8B dask.array\n", "│ ANTENNA_POSITION (antenna_name, cartesian_pos_label) float64 24B dask.array\n", "│ ANTENNA_RECEPTOR_ANGLE (antenna_name, receptor_label) float64 16B dask.array\n", "│ Attributes:\n", "│ overall_telescope_name: GBT\n", "│ relocatable_antennas: False\n", "│ type: antenna\n", "├── Group: /sdimaging_0/field_and_source_base_xds\n", "│ Dimensions: (field_name: 1, sky_dir_label: 2,\n", "│ line_label: 1)\n", "│ Coordinates:\n", "│ * field_name (field_name) \n", "│ source_name (field_name) \n", "│ Data variables:\n", "│ FIELD_REFERENCE_CENTER_DIRECTION (field_name, sky_dir_label) float64 16B dask.array\n", "│ LINE_REST_FREQUENCY (field_name, line_label) float64 8B dask.array\n", "│ LINE_SYSTEMIC_VELOCITY (field_name, line_label) float64 8B dask.array\n", "│ SOURCE_DIRECTION (field_name, sky_dir_label) float64 16B dask.array\n", "│ Attributes:\n", "│ type: field_and_source\n", "├── Group: /sdimaging_0/pointing_xds\n", "│ Dimensions: (time_pointing: 3843, antenna_name: 1,\n", "│ local_sky_dir_label: 2)\n", "│ Coordinates:\n", "│ * time_pointing (time_pointing) float64 31kB 1.069e+09 ... 1.069e+09\n", "│ * local_sky_dir_label (local_sky_dir_label) \n", "│ Attributes:\n", "│ type: pointing\n", "├── Group: /sdimaging_0/system_calibration_xds\n", "│ Dimensions: (antenna_name: 1, time_system_cal: 3843,\n", "│ receptor_label: 2, frequency_system_cal: 1)\n", "│ Coordinates:\n", "│ * time_system_cal (time_system_cal) float64 31kB 1.069e+09 ... 1.069e+09\n", "│ * receptor_label (receptor_label) \n", "│ mount (antenna_name) \n", "│ polarization_type (antenna_name, receptor_label) \n", "│ station_name (antenna_name) \n", "│ telescope_name (antenna_name) \n", "│ Data variables:\n", "│ TCAL (antenna_name, time_system_cal, receptor_label, frequency_system_cal) float64 61kB dask.array\n", "│ TSYS (antenna_name, time_system_cal, receptor_label, frequency_system_cal) float64 61kB dask.array\n", "│ Attributes:\n", "│ type: system_calibration\n", "└── Group: /sdimaging_0/weather_xds\n", " Dimensions: (station_name: 1, time_weather: 1,\n", " cartesian_pos_label: 3)\n", " Coordinates:\n", " * station_name (station_name) \n", " REL_HUMIDITY (station_name, time_weather) float64 8B dask.array\n", " STATION_POSITION (station_name, cartesian_pos_label) float64 24B dask.array\n", " TEMPERATURE (station_name, time_weather) float64 8B dask.array\n", " WIND_DIRECTION (station_name, time_weather) float64 8B dask.array\n", " WIND_SPEED (station_name, time_weather) float64 8B dask.array\n", " Attributes:\n", " type: weather" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ms_xdt = ps_xdt[\"sdimaging_0\"]\n", "ms_xdt" ] }, { "cell_type": "code", "execution_count": 6, "id": "ba761deb-b7a9-4b2b-8163-3050413fe59c", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.DataTree 'antenna_xds'>\n",
       "Group: /sdimaging_0/antenna_xds\n",
       "    Dimensions:                 (time: 3843, antenna_name: 1, frequency: 1024,\n",
       "                                 polarization: 2, cartesian_pos_label: 3,\n",
       "                                 receptor_label: 2)\n",
       "    Coordinates:\n",
       "      * cartesian_pos_label     (cartesian_pos_label) <U1 12B 'x' 'y' 'z'\n",
       "      * receptor_label          (receptor_label) <U5 40B 'pol_0' 'pol_1'\n",
       "        mount                   (antenna_name) <U6 24B dask.array<chunksize=(1,), meta=np.ndarray>\n",
       "        polarization_type       (antenna_name, receptor_label) <U1 8B dask.array<chunksize=(1, 2), meta=np.ndarray>\n",
       "        station_name            (antenna_name) <U9 36B dask.array<chunksize=(1,), meta=np.ndarray>\n",
       "        telescope_name          (antenna_name) <U3 12B dask.array<chunksize=(1,), meta=np.ndarray>\n",
       "    Inherited coordinates:\n",
       "      * antenna_name            (antenna_name) <U3 12B 'GBT'\n",
       "      * frequency               (frequency) float64 8kB 1.419e+09 ... 1.422e+09\n",
       "      * polarization            (polarization) <U2 16B 'XX' 'YY'\n",
       "      * time                    (time) float64 31kB 1.069e+09 ... 1.069e+09\n",
       "    Data variables:\n",
       "        ANTENNA_DISH_DIAMETER   (antenna_name) float64 8B dask.array<chunksize=(1,), meta=np.ndarray>\n",
       "        ANTENNA_POSITION        (antenna_name, cartesian_pos_label) float64 24B dask.array<chunksize=(1, 3), meta=np.ndarray>\n",
       "        ANTENNA_RECEPTOR_ANGLE  (antenna_name, receptor_label) float64 16B dask.array<chunksize=(1, 2), meta=np.ndarray>\n",
       "    Attributes:\n",
       "        overall_telescope_name:  GBT\n",
       "        relocatable_antennas:    False\n",
       "        type:                    antenna
" ], "text/plain": [ "\n", "Group: /sdimaging_0/antenna_xds\n", " Dimensions: (time: 3843, antenna_name: 1, frequency: 1024,\n", " polarization: 2, cartesian_pos_label: 3,\n", " receptor_label: 2)\n", " Coordinates:\n", " * cartesian_pos_label (cartesian_pos_label) \n", " polarization_type (antenna_name, receptor_label) \n", " station_name (antenna_name) \n", " telescope_name (antenna_name) \n", " Inherited coordinates:\n", " * antenna_name (antenna_name) \n", " ANTENNA_POSITION (antenna_name, cartesian_pos_label) float64 24B dask.array\n", " ANTENNA_RECEPTOR_ANGLE (antenna_name, receptor_label) float64 16B dask.array\n", " Attributes:\n", " overall_telescope_name: GBT\n", " relocatable_antennas: False\n", " type: antenna" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ms_xdt.antenna_xds" ] }, { "cell_type": "code", "execution_count": 7, "id": "0ca14405-5ad3-4f18-8d68-f58323326806", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.DataTree 'weather_xds'>\n",
       "Group: /sdimaging_0/weather_xds\n",
       "    Dimensions:              (time: 3843, antenna_name: 1, frequency: 1024,\n",
       "                              polarization: 2, station_name: 1, time_weather: 1,\n",
       "                              cartesian_pos_label: 3)\n",
       "    Coordinates:\n",
       "      * station_name         (station_name) <U9 36B 'GREENBANK'\n",
       "      * time_weather         (time_weather) float64 8B 1.069e+09\n",
       "      * cartesian_pos_label  (cartesian_pos_label) <U1 12B 'x' 'y' 'z'\n",
       "    Inherited coordinates:\n",
       "      * antenna_name         (antenna_name) <U3 12B 'GBT'\n",
       "      * frequency            (frequency) float64 8kB 1.419e+09 ... 1.422e+09\n",
       "      * polarization         (polarization) <U2 16B 'XX' 'YY'\n",
       "      * time                 (time) float64 31kB 1.069e+09 1.069e+09 ... 1.069e+09\n",
       "    Data variables:\n",
       "        PRESSURE             (station_name, time_weather) float64 8B dask.array<chunksize=(1, 1), meta=np.ndarray>\n",
       "        REL_HUMIDITY         (station_name, time_weather) float64 8B dask.array<chunksize=(1, 1), meta=np.ndarray>\n",
       "        STATION_POSITION     (station_name, cartesian_pos_label) float64 24B dask.array<chunksize=(1, 3), meta=np.ndarray>\n",
       "        TEMPERATURE          (station_name, time_weather) float64 8B dask.array<chunksize=(1, 1), meta=np.ndarray>\n",
       "        WIND_DIRECTION       (station_name, time_weather) float64 8B dask.array<chunksize=(1, 1), meta=np.ndarray>\n",
       "        WIND_SPEED           (station_name, time_weather) float64 8B dask.array<chunksize=(1, 1), meta=np.ndarray>\n",
       "    Attributes:\n",
       "        type:     weather
" ], "text/plain": [ "\n", "Group: /sdimaging_0/weather_xds\n", " Dimensions: (time: 3843, antenna_name: 1, frequency: 1024,\n", " polarization: 2, station_name: 1, time_weather: 1,\n", " cartesian_pos_label: 3)\n", " Coordinates:\n", " * station_name (station_name) \n", " REL_HUMIDITY (station_name, time_weather) float64 8B dask.array\n", " STATION_POSITION (station_name, cartesian_pos_label) float64 24B dask.array\n", " TEMPERATURE (station_name, time_weather) float64 8B dask.array\n", " WIND_DIRECTION (station_name, time_weather) float64 8B dask.array\n", " WIND_SPEED (station_name, time_weather) float64 8B dask.array\n", " Attributes:\n", " type: weather" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ms_xdt.weather_xds" ] }, { "cell_type": "code", "execution_count": 8, "id": "7781efe2-7695-47ff-94e4-6660bcbb3616", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.DataTree 'system_calibration_xds'>\n",
       "Group: /sdimaging_0/system_calibration_xds\n",
       "    Dimensions:               (time: 3843, antenna_name: 1, frequency: 1024,\n",
       "                               polarization: 2, time_system_cal: 3843,\n",
       "                               receptor_label: 2, frequency_system_cal: 1)\n",
       "    Coordinates:\n",
       "      * time_system_cal       (time_system_cal) float64 31kB 1.069e+09 ... 1.069e+09\n",
       "      * receptor_label        (receptor_label) <U5 40B 'pol_0' 'pol_1'\n",
       "      * frequency_system_cal  (frequency_system_cal) int64 8B 0\n",
       "        antenna_id            (antenna_name) int32 4B dask.array<chunksize=(1,), meta=np.ndarray>\n",
       "        mount                 (antenna_name) <U6 24B dask.array<chunksize=(1,), meta=np.ndarray>\n",
       "        polarization_type     (antenna_name, receptor_label) <U1 8B dask.array<chunksize=(1, 2), meta=np.ndarray>\n",
       "        station_name          (antenna_name) <U9 36B dask.array<chunksize=(1,), meta=np.ndarray>\n",
       "        telescope_name        (antenna_name) <U3 12B dask.array<chunksize=(1,), meta=np.ndarray>\n",
       "    Inherited coordinates:\n",
       "      * antenna_name          (antenna_name) <U3 12B 'GBT'\n",
       "      * frequency             (frequency) float64 8kB 1.419e+09 ... 1.422e+09\n",
       "      * polarization          (polarization) <U2 16B 'XX' 'YY'\n",
       "      * time                  (time) float64 31kB 1.069e+09 1.069e+09 ... 1.069e+09\n",
       "    Data variables:\n",
       "        TCAL                  (antenna_name, time_system_cal, receptor_label, frequency_system_cal) float64 61kB dask.array<chunksize=(1, 3843, 2, 1), meta=np.ndarray>\n",
       "        TSYS                  (antenna_name, time_system_cal, receptor_label, frequency_system_cal) float64 61kB dask.array<chunksize=(1, 3843, 2, 1), meta=np.ndarray>\n",
       "    Attributes:\n",
       "        type:     system_calibration
" ], "text/plain": [ "\n", "Group: /sdimaging_0/system_calibration_xds\n", " Dimensions: (time: 3843, antenna_name: 1, frequency: 1024,\n", " polarization: 2, time_system_cal: 3843,\n", " receptor_label: 2, frequency_system_cal: 1)\n", " Coordinates:\n", " * time_system_cal (time_system_cal) float64 31kB 1.069e+09 ... 1.069e+09\n", " * receptor_label (receptor_label) \n", " mount (antenna_name) \n", " polarization_type (antenna_name, receptor_label) \n", " station_name (antenna_name) \n", " telescope_name (antenna_name) \n", " Inherited coordinates:\n", " * antenna_name (antenna_name) \n", " TSYS (antenna_name, time_system_cal, receptor_label, frequency_system_cal) float64 61kB dask.array\n", " Attributes:\n", " type: system_calibration" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ms_xdt.system_calibration_xds" ] }, { "cell_type": "code", "execution_count": 9, "id": "a0bbcfcd-7a69-4ae5-9bc1-adfee4fb1cad", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.DataTree 'pointing_xds'>\n",
       "Group: /sdimaging_0/pointing_xds\n",
       "    Dimensions:              (time: 3843, antenna_name: 1, frequency: 1024,\n",
       "                              polarization: 2, time_pointing: 3843,\n",
       "                              local_sky_dir_label: 2)\n",
       "    Coordinates:\n",
       "      * time_pointing        (time_pointing) float64 31kB 1.069e+09 ... 1.069e+09\n",
       "      * local_sky_dir_label  (local_sky_dir_label) <U3 24B 'az' 'alt'\n",
       "    Inherited coordinates:\n",
       "      * antenna_name         (antenna_name) <U3 12B 'GBT'\n",
       "      * frequency            (frequency) float64 8kB 1.419e+09 ... 1.422e+09\n",
       "      * polarization         (polarization) <U2 16B 'XX' 'YY'\n",
       "      * time                 (time) float64 31kB 1.069e+09 1.069e+09 ... 1.069e+09\n",
       "    Data variables:\n",
       "        POINTING_BEAM        (time_pointing, antenna_name, local_sky_dir_label) float64 61kB dask.array<chunksize=(3843, 1, 2), meta=np.ndarray>\n",
       "    Attributes:\n",
       "        type:     pointing
" ], "text/plain": [ "\n", "Group: /sdimaging_0/pointing_xds\n", " Dimensions: (time: 3843, antenna_name: 1, frequency: 1024,\n", " polarization: 2, time_pointing: 3843,\n", " local_sky_dir_label: 2)\n", " Coordinates:\n", " * time_pointing (time_pointing) float64 31kB 1.069e+09 ... 1.069e+09\n", " * local_sky_dir_label (local_sky_dir_label) \n", " Attributes:\n", " type: pointing" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ms_xdt.pointing_xds" ] } ], "metadata": { "kernelspec": { "display_name": "timg", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.13.7" }, "widgets": { "application/vnd.jupyter.widget-state+json": { "state": { "04106eb6e68f4336a28c5d2553ab91cf": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": {} }, "dd4a163a61b943eda321a65fe86f14c8": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "layout": "IPY_MODEL_04106eb6e68f4336a28c5d2553ab91cf", "outputs": [ { "data": { "text/html": "
\n",
          "text/plain": ""
         },
         "metadata": {},
         "output_type": "display_data"
        }
       ]
      }
     }
    },
    "version_major": 2,
    "version_minor": 0
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}