{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "dac21471", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[\u001b[38;2;128;05;128m2026-01-22 09:00:33,472\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",
       "  uid___A002_Xced5df_Xf9d9.small.ms  \n",
       "                                     \n",
       "
\n" ], "text/plain": [ " \n", " \u001b[1m \u001b[0m\u001b[1mDownload List \u001b[0m\u001b[1m \u001b[0m \n", " ─────────────────────────────────── \n", " \u001b[35muid___A002_Xced5df_Xf9d9.small.ms\u001b[0m \n", " \n" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "[\u001b[38;2;128;05;128m2026-01-22 09:00:33,475\u001b[0m] \u001b[38;2;50;50;205m INFO\u001b[0m\u001b[38;2;112;128;144m viperlog: \u001b[0m File exists: uid___A002_Xced5df_Xf9d9.small.ms \n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "d5ae459948654092ae2d258235b26e21", "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",
    "ms_file = \"uid___A002_Xced5df_Xf9d9.small.ms\"\n",
    "toolviper.utils.data.download(file=ms_file)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "1358e83a",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[\u001b[38;2;128;05;128m2026-01-22 09:00:33,514\u001b[0m] \u001b[38;2;50;50;205m    INFO\u001b[0m\u001b[38;2;112;128;144m    viperlog: \u001b[0m Module path: \u001b[38;2;50;50;205m/Users/jsteeb/miniforge3/envs/timg/lib/python3.13/site-packages/toolviper\u001b[0m \n",
      "[\u001b[38;2;128;05;128m2026-01-22 09:00:33,519\u001b[0m] \u001b[38;2;255;160;0m WARNING\u001b[0m\u001b[38;2;112;128;144m    viperlog: \u001b[0m It is recommended that the local cache directory be set using the \u001b[38;2;50;50;205mdask_local_dir\u001b[0m parameter. \n",
      "[\u001b[38;2;128;05;128m2026-01-22 09:00:33,520\u001b[0m] \u001b[38;2;50;50;205m    INFO\u001b[0m\u001b[38;2;112;128;144m    viperlog: \u001b[0m Running client in synchronous mode. \n"
     ]
    }
   ],
   "source": [
    "# Code to start a Dask cluster with two workers and 1 thread each.\n",
    "from toolviper.dask.client import local_client\n",
    "\n",
    "# viper_client = local_client(cores=2, memory_limit=\"4GB\",autorestrictor=True)\n",
    "viper_client = local_client(serial_execution=True)\n",
    "viper_client"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "a89a6310",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[\u001b[38;2;128;05;128m2026-01-22 09:00:34,878\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', 'EPHEMERIS_ID'] \n",
      "[\u001b[38;2;128;05;128m2026-01-22 09:00:34,883\u001b[0m] \u001b[38;2;50;50;205m    INFO\u001b[0m\u001b[38;2;112;128;144m    viperlog: \u001b[0m Number of partitions: 20 \n",
      "[\u001b[38;2;128;05;128m2026-01-22 09:00:34,883\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 [10], FIELD [1], SCAN [2, 4, 6, 8, 10, 12, 14, 16, 18], EPHEMERIS [-1] \n",
      "[\u001b[38;2;128;05;128m2026-01-22 09:00:34,884\u001b[0m] \u001b[38;2;50;50;205m    INFO\u001b[0m\u001b[38;2;112;128;144m    viperlog: \u001b[0m OBSERVATION_ID [0], DDI [1], STATE [10], FIELD [1], SCAN [2, 4, 6, 8, 10, 12, 14, 16, 18], EPHEMERIS [-1] \n",
      "[\u001b[38;2;128;05;128m2026-01-22 09:00:34,884\u001b[0m] \u001b[38;2;50;50;205m    INFO\u001b[0m\u001b[38;2;112;128;144m    viperlog: \u001b[0m OBSERVATION_ID [0], DDI [2], STATE [10], FIELD [1], SCAN [2, 4, 6, 8, 10, 12, 14, 16, 18], EPHEMERIS [-1] \n",
      "[\u001b[38;2;128;05;128m2026-01-22 09:00:34,885\u001b[0m] \u001b[38;2;50;50;205m    INFO\u001b[0m\u001b[38;2;112;128;144m    viperlog: \u001b[0m OBSERVATION_ID [0], DDI [3], STATE [10], FIELD [1], SCAN [2, 4, 6, 8, 10, 12, 14, 16, 18], EPHEMERIS [-1] \n",
      "[\u001b[38;2;128;05;128m2026-01-22 09:00:34,885\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 [11], FIELD [1], SCAN [2, 4, 6, 8, 10, 12, 14, 16, 18], EPHEMERIS [-1] \n",
      "[\u001b[38;2;128;05;128m2026-01-22 09:00:34,885\u001b[0m] \u001b[38;2;50;50;205m    INFO\u001b[0m\u001b[38;2;112;128;144m    viperlog: \u001b[0m OBSERVATION_ID [0], DDI [1], STATE [11], FIELD [1], SCAN [2, 4, 6, 8, 10, 12, 14, 16, 18], EPHEMERIS [-1] \n",
      "[\u001b[38;2;128;05;128m2026-01-22 09:00:34,886\u001b[0m] \u001b[38;2;50;50;205m    INFO\u001b[0m\u001b[38;2;112;128;144m    viperlog: \u001b[0m OBSERVATION_ID [0], DDI [2], STATE [11], FIELD [1], SCAN [2, 4, 6, 8, 10, 12, 14, 16, 18], EPHEMERIS [-1] \n",
      "[\u001b[38;2;128;05;128m2026-01-22 09:00:34,886\u001b[0m] \u001b[38;2;50;50;205m    INFO\u001b[0m\u001b[38;2;112;128;144m    viperlog: \u001b[0m OBSERVATION_ID [0], DDI [3], STATE [11], FIELD [1], SCAN [2, 4, 6, 8, 10, 12, 14, 16, 18], EPHEMERIS [-1] \n",
      "[\u001b[38;2;128;05;128m2026-01-22 09:00:34,886\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 [12], FIELD [1], SCAN [2, 4, 6, 8, 10, 12, 14, 16, 18], EPHEMERIS [-1] \n",
      "[\u001b[38;2;128;05;128m2026-01-22 09:00:34,887\u001b[0m] \u001b[38;2;50;50;205m    INFO\u001b[0m\u001b[38;2;112;128;144m    viperlog: \u001b[0m OBSERVATION_ID [0], DDI [1], STATE [12], FIELD [1], SCAN [2, 4, 6, 8, 10, 12, 14, 16, 18], EPHEMERIS [-1] \n",
      "[\u001b[38;2;128;05;128m2026-01-22 09:00:34,887\u001b[0m] \u001b[38;2;50;50;205m    INFO\u001b[0m\u001b[38;2;112;128;144m    viperlog: \u001b[0m OBSERVATION_ID [0], DDI [2], STATE [12], FIELD [1], SCAN [2, 4, 6, 8, 10, 12, 14, 16, 18], EPHEMERIS [-1] \n",
      "[\u001b[38;2;128;05;128m2026-01-22 09:00:34,888\u001b[0m] \u001b[38;2;50;50;205m    INFO\u001b[0m\u001b[38;2;112;128;144m    viperlog: \u001b[0m OBSERVATION_ID [0], DDI [3], STATE [12], FIELD [1], SCAN [2, 4, 6, 8, 10, 12, 14, 16, 18], EPHEMERIS [-1] \n",
      "[\u001b[38;2;128;05;128m2026-01-22 09:00:34,888\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 [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] \n",
      "[\u001b[38;2;128;05;128m2026-01-22 09:00:34,888\u001b[0m] \u001b[38;2;50;50;205m    INFO\u001b[0m\u001b[38;2;112;128;144m    viperlog: \u001b[0m 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] \n",
      "[\u001b[38;2;128;05;128m2026-01-22 09:00:34,888\u001b[0m] \u001b[38;2;50;50;205m    INFO\u001b[0m\u001b[38;2;112;128;144m    viperlog: \u001b[0m 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] \n",
      "[\u001b[38;2;128;05;128m2026-01-22 09:00:34,889\u001b[0m] \u001b[38;2;50;50;205m    INFO\u001b[0m\u001b[38;2;112;128;144m    viperlog: \u001b[0m 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] \n",
      "[\u001b[38;2;128;05;128m2026-01-22 09:00:34,889\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 [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] \n",
      "[\u001b[38;2;128;05;128m2026-01-22 09:00:34,889\u001b[0m] \u001b[38;2;50;50;205m    INFO\u001b[0m\u001b[38;2;112;128;144m    viperlog: \u001b[0m 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] \n",
      "[\u001b[38;2;128;05;128m2026-01-22 09:00:34,890\u001b[0m] \u001b[38;2;50;50;205m    INFO\u001b[0m\u001b[38;2;112;128;144m    viperlog: \u001b[0m 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] \n",
      "[\u001b[38;2;128;05;128m2026-01-22 09:00:34,890\u001b[0m] \u001b[38;2;50;50;205m    INFO\u001b[0m\u001b[38;2;112;128;144m    viperlog: \u001b[0m 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] \n"
     ]
    }
   ],
   "source": [
    "from xradio.measurement_set import convert_msv2_to_processing_set\n",
    "ps_store = ms_file.replace(\".ms\", \".ps.zarr\")\n",
    "\n",
    "convert_msv2_to_processing_set(\n",
    "    in_file=ms_file,\n",
    "    out_file=ps_store,\n",
    "    parallel_mode=\"partition\",\n",
    "    persistence_mode=\"w\",\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "0f327062",
   "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", " \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", " \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", " \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", " \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", " \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", " \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", " \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", " \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", " \n", " \n", " \n", " \n", "
namescan_intentsshapeexecution_block_UIDpolarizationscan_namespw_namespw_intentsfield_namesource_nameline_namefield_coordssession_reference_UIDscheduling_block_UIDproject_UIDstart_frequencyend_frequency
0uid___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/X2621uid://A001/X1221/Xa612.295643e+112.295648e+11
1uid___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/X2621uid://A001/X1221/Xa612.320078e+112.320390e+11
2uid___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/X2621uid://A001/X1221/Xa612.161367e+112.161406e+11
3uid___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/X2621uid://A001/X1221/Xa612.179697e+112.179736e+11
4uid___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/X2621uid://A001/X1221/Xa612.295643e+112.295648e+11
5uid___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/X2621uid://A001/X1221/Xa612.320078e+112.320390e+11
6uid___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/X2621uid://A001/X1221/Xa612.161367e+112.161406e+11
7uid___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/X2621uid://A001/X1221/Xa612.179697e+112.179736e+11
8uid___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/X2621uid://A001/X1221/Xa612.295643e+112.295648e+11
9uid___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/X2621uid://A001/X1221/Xa612.320078e+112.320390e+11
10uid___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/X2621uid://A001/X1221/Xa612.161367e+112.161406e+11
11uid___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/X2621uid://A001/X1221/Xa612.179697e+112.179736e+11
12uid___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/X2621uid://A001/X1221/Xa612.295643e+112.295648e+11
13uid___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/X2621uid://A001/X1221/Xa612.320078e+112.320390e+11
14uid___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/X2621uid://A001/X1221/Xa612.161367e+112.161406e+11
15uid___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/X2621uid://A001/X1221/Xa612.179697e+112.179736e+11
16uid___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/X2621uid://A001/X1221/Xa612.295643e+112.295648e+11
17uid___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/X2621uid://A001/X1221/Xa612.320078e+112.320390e+11
18uid___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/X2621uid://A001/X1221/Xa612.161367e+112.161406e+11
19uid___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/X2621uid://A001/X1221/Xa612.179697e+112.179736e+11
\n", "
" ], "text/plain": [ " name \\\n", "0 uid___A002_Xced5df_Xf9d9.small_00 \n", "1 uid___A002_Xced5df_Xf9d9.small_01 \n", "2 uid___A002_Xced5df_Xf9d9.small_02 \n", "3 uid___A002_Xced5df_Xf9d9.small_03 \n", "4 uid___A002_Xced5df_Xf9d9.small_04 \n", "5 uid___A002_Xced5df_Xf9d9.small_05 \n", "6 uid___A002_Xced5df_Xf9d9.small_06 \n", "7 uid___A002_Xced5df_Xf9d9.small_07 \n", "8 uid___A002_Xced5df_Xf9d9.small_08 \n", "9 uid___A002_Xced5df_Xf9d9.small_09 \n", "10 uid___A002_Xced5df_Xf9d9.small_10 \n", "11 uid___A002_Xced5df_Xf9d9.small_11 \n", "12 uid___A002_Xced5df_Xf9d9.small_12 \n", "13 uid___A002_Xced5df_Xf9d9.small_13 \n", "14 uid___A002_Xced5df_Xf9d9.small_14 \n", "15 uid___A002_Xced5df_Xf9d9.small_15 \n", "16 uid___A002_Xced5df_Xf9d9.small_16 \n", "17 uid___A002_Xced5df_Xf9d9.small_17 \n", "18 uid___A002_Xced5df_Xf9d9.small_18 \n", "19 uid___A002_Xced5df_Xf9d9.small_19 \n", "\n", " scan_intents \\\n", "0 [CALIBRATE_ATMOSPHERE#OFF_SOURCE, CALIBRATE_WVR#OFF_SOURCE] \n", "1 [CALIBRATE_ATMOSPHERE#OFF_SOURCE, CALIBRATE_WVR#OFF_SOURCE] \n", "2 [CALIBRATE_ATMOSPHERE#OFF_SOURCE, CALIBRATE_WVR#OFF_SOURCE] \n", "3 [CALIBRATE_ATMOSPHERE#OFF_SOURCE, CALIBRATE_WVR#OFF_SOURCE] \n", "4 [CALIBRATE_ATMOSPHERE#AMBIENT, CALIBRATE_WVR#AMBIENT] \n", "5 [CALIBRATE_ATMOSPHERE#AMBIENT, CALIBRATE_WVR#AMBIENT] \n", "6 [CALIBRATE_ATMOSPHERE#AMBIENT, CALIBRATE_WVR#AMBIENT] \n", "7 [CALIBRATE_ATMOSPHERE#AMBIENT, CALIBRATE_WVR#AMBIENT] \n", "8 [CALIBRATE_ATMOSPHERE#HOT, CALIBRATE_WVR#HOT] \n", "9 [CALIBRATE_ATMOSPHERE#HOT, CALIBRATE_WVR#HOT] \n", "10 [CALIBRATE_ATMOSPHERE#HOT, CALIBRATE_WVR#HOT] \n", "11 [CALIBRATE_ATMOSPHERE#HOT, CALIBRATE_WVR#HOT] \n", "12 [OBSERVE_TARGET#OFF_SOURCE] \n", "13 [OBSERVE_TARGET#OFF_SOURCE] \n", "14 [OBSERVE_TARGET#OFF_SOURCE] \n", "15 [OBSERVE_TARGET#OFF_SOURCE] \n", "16 [OBSERVE_TARGET#ON_SOURCE] \n", "17 [OBSERVE_TARGET#ON_SOURCE] \n", "18 [OBSERVE_TARGET#ON_SOURCE] \n", "19 [OBSERVE_TARGET#ON_SOURCE] \n", "\n", " shape execution_block_UID polarization \\\n", "0 (135, 2, 3, 2) uid://A002/Xced5df/Xf9d9 [XX, YY] \n", "1 (135, 2, 3, 2) uid://A002/Xced5df/Xf9d9 [XX, YY] \n", "2 (135, 2, 3, 2) uid://A002/Xced5df/Xf9d9 [XX, YY] \n", "3 (135, 2, 3, 2) uid://A002/Xced5df/Xf9d9 [XX, YY] \n", "4 (135, 2, 3, 2) uid://A002/Xced5df/Xf9d9 [XX, YY] \n", "5 (135, 2, 3, 2) uid://A002/Xced5df/Xf9d9 [XX, YY] \n", "6 (135, 2, 3, 2) uid://A002/Xced5df/Xf9d9 [XX, YY] \n", "7 (135, 2, 3, 2) uid://A002/Xced5df/Xf9d9 [XX, YY] \n", "8 (135, 2, 3, 2) uid://A002/Xced5df/Xf9d9 [XX, YY] \n", "9 (135, 2, 3, 2) uid://A002/Xced5df/Xf9d9 [XX, YY] \n", "10 (135, 2, 3, 2) uid://A002/Xced5df/Xf9d9 [XX, YY] \n", "11 (135, 2, 3, 2) uid://A002/Xced5df/Xf9d9 [XX, YY] \n", "12 (2844, 2, 3, 2) uid://A002/Xced5df/Xf9d9 [XX, YY] \n", "13 (2844, 2, 3, 2) uid://A002/Xced5df/Xf9d9 [XX, YY] \n", "14 (2844, 2, 3, 2) uid://A002/Xced5df/Xf9d9 [XX, YY] \n", "15 (2844, 2, 3, 2) uid://A002/Xced5df/Xf9d9 [XX, YY] \n", "16 (5850, 2, 3, 2) uid://A002/Xced5df/Xf9d9 [XX, YY] \n", "17 (5850, 2, 3, 2) uid://A002/Xced5df/Xf9d9 [XX, YY] \n", "18 (5850, 2, 3, 2) uid://A002/Xced5df/Xf9d9 [XX, YY] \n", "19 (5850, 2, 3, 2) uid://A002/Xced5df/Xf9d9 [XX, YY] \n", "\n", " scan_name \\\n", "0 [10, 12, 14, 16, 18, 2, 4, 6, 8] \n", "1 [10, 12, 14, 16, 18, 2, 4, 6, 8] \n", "2 [10, 12, 14, 16, 18, 2, 4, 6, 8] \n", "3 [10, 12, 14, 16, 18, 2, 4, 6, 8] \n", "4 [10, 12, 14, 16, 18, 2, 4, 6, 8] \n", "5 [10, 12, 14, 16, 18, 2, 4, 6, 8] \n", "6 [10, 12, 14, 16, 18, 2, 4, 6, 8] \n", "7 [10, 12, 14, 16, 18, 2, 4, 6, 8] \n", "8 [10, 12, 14, 16, 18, 2, 4, 6, 8] \n", "9 [10, 12, 14, 16, 18, 2, 4, 6, 8] \n", "10 [10, 12, 14, 16, 18, 2, 4, 6, 8] \n", "11 [10, 12, 14, 16, 18, 2, 4, 6, 8] \n", "12 [11, 13, 15, 17, 3, 5, 7, 9] \n", "13 [11, 13, 15, 17, 3, 5, 7, 9] \n", "14 [11, 13, 15, 17, 3, 5, 7, 9] \n", "15 [11, 13, 15, 17, 3, 5, 7, 9] \n", "16 [11, 13, 15, 17, 3, 5, 7, 9] \n", "17 [11, 13, 15, 17, 3, 5, 7, 9] \n", "18 [11, 13, 15, 17, 3, 5, 7, 9] \n", "19 [11, 13, 15, 17, 3, 5, 7, 9] \n", "\n", " spw_name spw_intents field_name \\\n", "0 X1204293883#ALMA_RB_06#BB_1#SW-01#FULL_RES_0 [UNSPECIFIED] [NGC1097_1] \n", "1 X1204293883#ALMA_RB_06#BB_2#SW-01#FULL_RES_1 [UNSPECIFIED] [NGC1097_1] \n", "2 X1204293883#ALMA_RB_06#BB_3#SW-01#FULL_RES_2 [UNSPECIFIED] [NGC1097_1] \n", "3 X1204293883#ALMA_RB_06#BB_4#SW-01#FULL_RES_3 [UNSPECIFIED] [NGC1097_1] \n", "4 X1204293883#ALMA_RB_06#BB_1#SW-01#FULL_RES_0 [UNSPECIFIED] [NGC1097_1] \n", "5 X1204293883#ALMA_RB_06#BB_2#SW-01#FULL_RES_1 [UNSPECIFIED] [NGC1097_1] \n", "6 X1204293883#ALMA_RB_06#BB_3#SW-01#FULL_RES_2 [UNSPECIFIED] [NGC1097_1] \n", "7 X1204293883#ALMA_RB_06#BB_4#SW-01#FULL_RES_3 [UNSPECIFIED] [NGC1097_1] \n", "8 X1204293883#ALMA_RB_06#BB_1#SW-01#FULL_RES_0 [UNSPECIFIED] [NGC1097_1] \n", "9 X1204293883#ALMA_RB_06#BB_2#SW-01#FULL_RES_1 [UNSPECIFIED] [NGC1097_1] \n", "10 X1204293883#ALMA_RB_06#BB_3#SW-01#FULL_RES_2 [UNSPECIFIED] [NGC1097_1] \n", "11 X1204293883#ALMA_RB_06#BB_4#SW-01#FULL_RES_3 [UNSPECIFIED] [NGC1097_1] \n", "12 X1204293883#ALMA_RB_06#BB_1#SW-01#FULL_RES_0 [UNSPECIFIED] [NGC1097_1] \n", "13 X1204293883#ALMA_RB_06#BB_2#SW-01#FULL_RES_1 [UNSPECIFIED] [NGC1097_1] \n", "14 X1204293883#ALMA_RB_06#BB_3#SW-01#FULL_RES_2 [UNSPECIFIED] [NGC1097_1] \n", "15 X1204293883#ALMA_RB_06#BB_4#SW-01#FULL_RES_3 [UNSPECIFIED] [NGC1097_1] \n", "16 X1204293883#ALMA_RB_06#BB_1#SW-01#FULL_RES_0 [UNSPECIFIED] [NGC1097_1] \n", "17 X1204293883#ALMA_RB_06#BB_2#SW-01#FULL_RES_1 [UNSPECIFIED] [NGC1097_1] \n", "18 X1204293883#ALMA_RB_06#BB_3#SW-01#FULL_RES_2 [UNSPECIFIED] [NGC1097_1] \n", "19 X1204293883#ALMA_RB_06#BB_4#SW-01#FULL_RES_3 [UNSPECIFIED] [NGC1097_1] \n", "\n", " source_name line_name field_coords \\\n", "0 [NGC1097_1] [CO_v_0_2_1(ID=3768101)] [icrs, 2h46m19.09s, -30d16m30.18s] \n", "1 [NGC1097_1] [Continuum(ID=0)] [icrs, 2h46m19.09s, -30d16m30.18s] \n", "2 [NGC1097_1] [H2CO_Continuum(ID=0)] [icrs, 2h46m19.09s, -30d16m30.18s] \n", "3 [NGC1097_1] [C18O_2_1(ID=3768339)] [icrs, 2h46m19.09s, -30d16m30.18s] \n", "4 [NGC1097_1] [CO_v_0_2_1(ID=3768101)] [icrs, 2h46m19.09s, -30d16m30.18s] \n", "5 [NGC1097_1] [Continuum(ID=0)] [icrs, 2h46m19.09s, -30d16m30.18s] \n", "6 [NGC1097_1] [H2CO_Continuum(ID=0)] [icrs, 2h46m19.09s, -30d16m30.18s] \n", "7 [NGC1097_1] [C18O_2_1(ID=3768339)] [icrs, 2h46m19.09s, -30d16m30.18s] \n", "8 [NGC1097_1] [CO_v_0_2_1(ID=3768101)] [icrs, 2h46m19.09s, -30d16m30.18s] \n", "9 [NGC1097_1] [Continuum(ID=0)] [icrs, 2h46m19.09s, -30d16m30.18s] \n", "10 [NGC1097_1] [H2CO_Continuum(ID=0)] [icrs, 2h46m19.09s, -30d16m30.18s] \n", "11 [NGC1097_1] [C18O_2_1(ID=3768339)] [icrs, 2h46m19.09s, -30d16m30.18s] \n", "12 [NGC1097_1] [CO_v_0_2_1(ID=3768101)] [icrs, 2h46m19.09s, -30d16m30.18s] \n", "13 [NGC1097_1] [Continuum(ID=0)] [icrs, 2h46m19.09s, -30d16m30.18s] \n", "14 [NGC1097_1] [H2CO_Continuum(ID=0)] [icrs, 2h46m19.09s, -30d16m30.18s] \n", "15 [NGC1097_1] [C18O_2_1(ID=3768339)] [icrs, 2h46m19.09s, -30d16m30.18s] \n", "16 [NGC1097_1] [CO_v_0_2_1(ID=3768101)] [icrs, 2h46m19.09s, -30d16m30.18s] \n", "17 [NGC1097_1] [Continuum(ID=0)] [icrs, 2h46m19.09s, -30d16m30.18s] \n", "18 [NGC1097_1] [H2CO_Continuum(ID=0)] [icrs, 2h46m19.09s, -30d16m30.18s] \n", "19 [NGC1097_1] [C18O_2_1(ID=3768339)] [icrs, 2h46m19.09s, -30d16m30.18s] \n", "\n", " session_reference_UID scheduling_block_UID project_UID \\\n", "0 --- uid://A001/X1284/X2621 uid://A001/X1221/Xa61 \n", "1 --- uid://A001/X1284/X2621 uid://A001/X1221/Xa61 \n", "2 --- uid://A001/X1284/X2621 uid://A001/X1221/Xa61 \n", "3 --- uid://A001/X1284/X2621 uid://A001/X1221/Xa61 \n", "4 --- uid://A001/X1284/X2621 uid://A001/X1221/Xa61 \n", "5 --- uid://A001/X1284/X2621 uid://A001/X1221/Xa61 \n", "6 --- uid://A001/X1284/X2621 uid://A001/X1221/Xa61 \n", "7 --- uid://A001/X1284/X2621 uid://A001/X1221/Xa61 \n", "8 --- uid://A001/X1284/X2621 uid://A001/X1221/Xa61 \n", "9 --- uid://A001/X1284/X2621 uid://A001/X1221/Xa61 \n", "10 --- uid://A001/X1284/X2621 uid://A001/X1221/Xa61 \n", "11 --- uid://A001/X1284/X2621 uid://A001/X1221/Xa61 \n", "12 --- uid://A001/X1284/X2621 uid://A001/X1221/Xa61 \n", "13 --- uid://A001/X1284/X2621 uid://A001/X1221/Xa61 \n", "14 --- uid://A001/X1284/X2621 uid://A001/X1221/Xa61 \n", "15 --- uid://A001/X1284/X2621 uid://A001/X1221/Xa61 \n", "16 --- uid://A001/X1284/X2621 uid://A001/X1221/Xa61 \n", "17 --- uid://A001/X1284/X2621 uid://A001/X1221/Xa61 \n", "18 --- uid://A001/X1284/X2621 uid://A001/X1221/Xa61 \n", "19 --- uid://A001/X1284/X2621 uid://A001/X1221/Xa61 \n", "\n", " start_frequency end_frequency \n", "0 2.295643e+11 2.295648e+11 \n", "1 2.320078e+11 2.320390e+11 \n", "2 2.161367e+11 2.161406e+11 \n", "3 2.179697e+11 2.179736e+11 \n", "4 2.295643e+11 2.295648e+11 \n", "5 2.320078e+11 2.320390e+11 \n", "6 2.161367e+11 2.161406e+11 \n", "7 2.179697e+11 2.179736e+11 \n", "8 2.295643e+11 2.295648e+11 \n", "9 2.320078e+11 2.320390e+11 \n", "10 2.161367e+11 2.161406e+11 \n", "11 2.179697e+11 2.179736e+11 \n", "12 2.295643e+11 2.295648e+11 \n", "13 2.320078e+11 2.320390e+11 \n", "14 2.161367e+11 2.161406e+11 \n", "15 2.179697e+11 2.179736e+11 \n", "16 2.295643e+11 2.295648e+11 \n", "17 2.320078e+11 2.320390e+11 \n", "18 2.161367e+11 2.161406e+11 \n", "19 2.179697e+11 2.179736e+11 " ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from xradio.measurement_set import open_processing_set\n", "\n", "import pandas as pd\n", "pd.set_option('display.max_colwidth', 1000)\n", "\n", "ps_xdt = open_processing_set(ps_store)\n", "ps_xdt.xr_ps.summary()" ] }, { "cell_type": "code", "execution_count": 5, "id": "82d19901", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.Dataset> Size: 73kB\n",
       "Dimensions:                 (antenna_name: 2, cartesian_pos_label: 3,\n",
       "                             receptor_label: 2, frequency: 12, polarization: 2,\n",
       "                             time: 9099)\n",
       "Coordinates:\n",
       "  * antenna_name            (antenna_name) <U9 72B 'PM01_T703' 'PM02_T701'\n",
       "  * cartesian_pos_label     (cartesian_pos_label) <U1 12B 'x' 'y' 'z'\n",
       "  * receptor_label          (receptor_label) <U5 40B 'pol_0' 'pol_1'\n",
       "  * frequency               (frequency) float64 96B 2.161e+11 ... 2.32e+11\n",
       "  * polarization            (polarization) <U2 16B 'XX' 'YY'\n",
       "  * time                    (time) float64 73kB 1.53e+09 1.53e+09 ... 1.53e+09\n",
       "    mount                   (antenna_name) <U6 48B dask.array<chunksize=(2,), meta=np.ndarray>\n",
       "    polarization_type       (antenna_name, receptor_label) <U1 16B dask.array<chunksize=(2, 2), meta=np.ndarray>\n",
       "    station_name            (antenna_name) <U4 32B dask.array<chunksize=(2,), meta=np.ndarray>\n",
       "    telescope_name          (antenna_name) <U4 32B dask.array<chunksize=(2,), meta=np.ndarray>\n",
       "Data variables:\n",
       "    ANTENNA_DISH_DIAMETER   (antenna_name) float64 16B dask.array<chunksize=(2,), meta=np.ndarray>\n",
       "    ANTENNA_POSITION        (antenna_name, cartesian_pos_label) float64 48B dask.array<chunksize=(2, 3), meta=np.ndarray>\n",
       "    ANTENNA_RECEPTOR_ANGLE  (antenna_name, receptor_label) float64 32B dask.array<chunksize=(2, 2), meta=np.ndarray>\n",
       "Attributes:\n",
       "    overall_telescope_name:  ALMA\n",
       "    relocatable_antennas:    True\n",
       "    type:                    antenna
" ], "text/plain": [ " Size: 73kB\n", "Dimensions: (antenna_name: 2, cartesian_pos_label: 3,\n", " receptor_label: 2, frequency: 12, polarization: 2,\n", " time: 9099)\n", "Coordinates:\n", " * antenna_name (antenna_name) \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 16B dask.array\n", " ANTENNA_POSITION (antenna_name, cartesian_pos_label) float64 48B dask.array\n", " ANTENNA_RECEPTOR_ANGLE (antenna_name, receptor_label) float64 32B dask.array\n", "Attributes:\n", " overall_telescope_name: ALMA\n", " relocatable_antennas: True\n", " type: antenna" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ps_xdt.xr_ps.get_combined_antenna_xds()" ] }, { "cell_type": "code", "execution_count": 6, "id": "1d98327f", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Parallel Coordinates - Antenna Name:\n" ] }, { "data": { "text/html": [ "
data: ['PM01_T703' 'PM02_T701']
data_chunks
0: ['PM01_T703']
1: ['PM02_T701']
data_chunks_edges: [np.str_('PM01_T703'), np.str_('PM01_T703'), np.str_('PM02_T701'), np.str_('PM02_T701')]
dims: ('antenna_name',)
attrs
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Node Task Data Mapping:\n" ] }, { "data": { "text/html": [ "
0
chunk_indices: (np.int64(0),)
parallel_dims: ['antenna_name']
data_selection
uid___A002_Xced5df_Xf9d9.small_00
antenna_name: slice(np.int64(0), np.int64(1), None)
uid___A002_Xced5df_Xf9d9.small_01
antenna_name: slice(np.int64(0), np.int64(1), None)
uid___A002_Xced5df_Xf9d9.small_02
antenna_name: slice(np.int64(0), np.int64(1), None)
uid___A002_Xced5df_Xf9d9.small_03
antenna_name: slice(np.int64(0), np.int64(1), None)
uid___A002_Xced5df_Xf9d9.small_04
antenna_name: slice(np.int64(0), np.int64(1), None)
uid___A002_Xced5df_Xf9d9.small_05
antenna_name: slice(np.int64(0), np.int64(1), None)
uid___A002_Xced5df_Xf9d9.small_06
antenna_name: slice(np.int64(0), np.int64(1), None)
uid___A002_Xced5df_Xf9d9.small_07
antenna_name: slice(np.int64(0), np.int64(1), None)
uid___A002_Xced5df_Xf9d9.small_08
antenna_name: slice(np.int64(0), np.int64(1), None)
uid___A002_Xced5df_Xf9d9.small_09
antenna_name: slice(np.int64(0), np.int64(1), None)
uid___A002_Xced5df_Xf9d9.small_10
antenna_name: slice(np.int64(0), np.int64(1), None)
uid___A002_Xced5df_Xf9d9.small_11
antenna_name: slice(np.int64(0), np.int64(1), None)
uid___A002_Xced5df_Xf9d9.small_12
antenna_name: slice(np.int64(0), np.int64(1), None)
uid___A002_Xced5df_Xf9d9.small_13
antenna_name: slice(np.int64(0), np.int64(1), None)
uid___A002_Xced5df_Xf9d9.small_14
antenna_name: slice(np.int64(0), np.int64(1), None)
uid___A002_Xced5df_Xf9d9.small_15
antenna_name: slice(np.int64(0), np.int64(1), None)
uid___A002_Xced5df_Xf9d9.small_16
antenna_name: slice(np.int64(0), np.int64(1), None)
uid___A002_Xced5df_Xf9d9.small_17
antenna_name: slice(np.int64(0), np.int64(1), None)
uid___A002_Xced5df_Xf9d9.small_18
antenna_name: slice(np.int64(0), np.int64(1), None)
uid___A002_Xced5df_Xf9d9.small_19
antenna_name: slice(np.int64(0), np.int64(1), None)
task_coords
antenna_name
data: ['PM01_T703']
dims: ('antenna_name',)
attrs
1
chunk_indices: (np.int64(1),)
parallel_dims: ['antenna_name']
data_selection
uid___A002_Xced5df_Xf9d9.small_00
antenna_name: slice(np.int64(1), np.int64(2), None)
uid___A002_Xced5df_Xf9d9.small_01
antenna_name: slice(np.int64(1), np.int64(2), None)
uid___A002_Xced5df_Xf9d9.small_02
antenna_name: slice(np.int64(1), np.int64(2), None)
uid___A002_Xced5df_Xf9d9.small_03
antenna_name: slice(np.int64(1), np.int64(2), None)
uid___A002_Xced5df_Xf9d9.small_04
antenna_name: slice(np.int64(1), np.int64(2), None)
uid___A002_Xced5df_Xf9d9.small_05
antenna_name: slice(np.int64(1), np.int64(2), None)
uid___A002_Xced5df_Xf9d9.small_06
antenna_name: slice(np.int64(1), np.int64(2), None)
uid___A002_Xced5df_Xf9d9.small_07
antenna_name: slice(np.int64(1), np.int64(2), None)
uid___A002_Xced5df_Xf9d9.small_08
antenna_name: slice(np.int64(1), np.int64(2), None)
uid___A002_Xced5df_Xf9d9.small_09
antenna_name: slice(np.int64(1), np.int64(2), None)
uid___A002_Xced5df_Xf9d9.small_10
antenna_name: slice(np.int64(1), np.int64(2), None)
uid___A002_Xced5df_Xf9d9.small_11
antenna_name: slice(np.int64(1), np.int64(2), None)
uid___A002_Xced5df_Xf9d9.small_12
antenna_name: slice(np.int64(1), np.int64(2), None)
uid___A002_Xced5df_Xf9d9.small_13
antenna_name: slice(np.int64(1), np.int64(2), None)
uid___A002_Xced5df_Xf9d9.small_14
antenna_name: slice(np.int64(1), np.int64(2), None)
uid___A002_Xced5df_Xf9d9.small_15
antenna_name: slice(np.int64(1), np.int64(2), None)
uid___A002_Xced5df_Xf9d9.small_16
antenna_name: slice(np.int64(1), np.int64(2), None)
uid___A002_Xced5df_Xf9d9.small_17
antenna_name: slice(np.int64(1), np.int64(2), None)
uid___A002_Xced5df_Xf9d9.small_18
antenna_name: slice(np.int64(1), np.int64(2), None)
uid___A002_Xced5df_Xf9d9.small_19
antenna_name: slice(np.int64(1), np.int64(2), None)
task_coords
antenna_name
data: ['PM02_T701']
dims: ('antenna_name',)
attrs
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from graphviper.graph_tools.coordinate_utils import (\n", " interpolate_data_coords_onto_parallel_coords, make_parallel_coord\n", ")\n", "\n", "from graphviper.graph_tools.coordinate_utils import make_frequency_coord\n", "\n", "from toolviper.utils.display import dict_to_html\n", "from IPython.display import HTML, display\n", "\n", "\n", "parallel_coords ={}\n", "coord = ps_xdt.xr_ps.get_combined_antenna_xds().antenna_name\n", "n_chunks = len(coord)\n", "parallel_coords[\"antenna_name\"] = make_parallel_coord(coord=coord, n_chunks=n_chunks)\n", "print(\"Parallel Coordinates - Antenna Name:\")\n", "display(HTML(dict_to_html(parallel_coords[\"antenna_name\"])))\n", "\n", "node_task_data_mapping = interpolate_data_coords_onto_parallel_coords(\n", " parallel_coords, ps_xdt\n", ")\n", "\n", "print(\"Node Task Data Mapping:\")\n", "display(HTML(dict_to_html(node_task_data_mapping)))" ] }, { "cell_type": "code", "execution_count": 7, "id": "923e5b97", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import dask\n", "from graphviper.graph_tools.map import map\n", "from graphviper.graph_tools.generate_dask_workflow import generate_dask_workflow\n", "\n", "from toolviper.utils.display import dict_to_html\n", "\n", "from IPython.display import display, HTML\n", "\n", "\n", "def my_func(input_params):\n", " display(HTML(dict_to_html(input_params)))\n", "\n", " print(\"*\" * 30)\n", " return input_params[\"test_input\"]\n", "\n", "\n", "input_params = {}\n", "input_params[\"test_input\"] = 42\n", "\n", "viper_graph = map(\n", " input_data=ps_xdt,\n", " node_task_data_mapping=node_task_data_mapping,\n", " node_task=my_func,\n", " input_params=input_params,\n", ")\n", "\n", "dask_graph = generate_dask_workflow(viper_graph)\n", "dask.visualize(dask_graph, filename=\"map_graph\")" ] }, { "cell_type": "code", "execution_count": 8, "id": "338ebb73", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
test_input: 42
chunk_indices: (np.int64(0),)
parallel_dims: ['antenna_name']
data_selection
uid___A002_Xced5df_Xf9d9.small_00
antenna_name: slice(np.int64(0), np.int64(1), None)
uid___A002_Xced5df_Xf9d9.small_01
antenna_name: slice(np.int64(0), np.int64(1), None)
uid___A002_Xced5df_Xf9d9.small_02
antenna_name: slice(np.int64(0), np.int64(1), None)
uid___A002_Xced5df_Xf9d9.small_03
antenna_name: slice(np.int64(0), np.int64(1), None)
uid___A002_Xced5df_Xf9d9.small_04
antenna_name: slice(np.int64(0), np.int64(1), None)
uid___A002_Xced5df_Xf9d9.small_05
antenna_name: slice(np.int64(0), np.int64(1), None)
uid___A002_Xced5df_Xf9d9.small_06
antenna_name: slice(np.int64(0), np.int64(1), None)
uid___A002_Xced5df_Xf9d9.small_07
antenna_name: slice(np.int64(0), np.int64(1), None)
uid___A002_Xced5df_Xf9d9.small_08
antenna_name: slice(np.int64(0), np.int64(1), None)
uid___A002_Xced5df_Xf9d9.small_09
antenna_name: slice(np.int64(0), np.int64(1), None)
uid___A002_Xced5df_Xf9d9.small_10
antenna_name: slice(np.int64(0), np.int64(1), None)
uid___A002_Xced5df_Xf9d9.small_11
antenna_name: slice(np.int64(0), np.int64(1), None)
uid___A002_Xced5df_Xf9d9.small_12
antenna_name: slice(np.int64(0), np.int64(1), None)
uid___A002_Xced5df_Xf9d9.small_13
antenna_name: slice(np.int64(0), np.int64(1), None)
uid___A002_Xced5df_Xf9d9.small_14
antenna_name: slice(np.int64(0), np.int64(1), None)
uid___A002_Xced5df_Xf9d9.small_15
antenna_name: slice(np.int64(0), np.int64(1), None)
uid___A002_Xced5df_Xf9d9.small_16
antenna_name: slice(np.int64(0), np.int64(1), None)
uid___A002_Xced5df_Xf9d9.small_17
antenna_name: slice(np.int64(0), np.int64(1), None)
uid___A002_Xced5df_Xf9d9.small_18
antenna_name: slice(np.int64(0), np.int64(1), None)
uid___A002_Xced5df_Xf9d9.small_19
antenna_name: slice(np.int64(0), np.int64(1), None)
task_coords
antenna_name
data: ['PM01_T703']
dims: ('antenna_name',)
attrs
task_id: 0
input_data: None
date_time: None
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "******************************\n" ] }, { "data": { "text/html": [ "
test_input: 42
chunk_indices: (np.int64(1),)
parallel_dims: ['antenna_name']
data_selection
uid___A002_Xced5df_Xf9d9.small_00
antenna_name: slice(np.int64(1), np.int64(2), None)
uid___A002_Xced5df_Xf9d9.small_01
antenna_name: slice(np.int64(1), np.int64(2), None)
uid___A002_Xced5df_Xf9d9.small_02
antenna_name: slice(np.int64(1), np.int64(2), None)
uid___A002_Xced5df_Xf9d9.small_03
antenna_name: slice(np.int64(1), np.int64(2), None)
uid___A002_Xced5df_Xf9d9.small_04
antenna_name: slice(np.int64(1), np.int64(2), None)
uid___A002_Xced5df_Xf9d9.small_05
antenna_name: slice(np.int64(1), np.int64(2), None)
uid___A002_Xced5df_Xf9d9.small_06
antenna_name: slice(np.int64(1), np.int64(2), None)
uid___A002_Xced5df_Xf9d9.small_07
antenna_name: slice(np.int64(1), np.int64(2), None)
uid___A002_Xced5df_Xf9d9.small_08
antenna_name: slice(np.int64(1), np.int64(2), None)
uid___A002_Xced5df_Xf9d9.small_09
antenna_name: slice(np.int64(1), np.int64(2), None)
uid___A002_Xced5df_Xf9d9.small_10
antenna_name: slice(np.int64(1), np.int64(2), None)
uid___A002_Xced5df_Xf9d9.small_11
antenna_name: slice(np.int64(1), np.int64(2), None)
uid___A002_Xced5df_Xf9d9.small_12
antenna_name: slice(np.int64(1), np.int64(2), None)
uid___A002_Xced5df_Xf9d9.small_13
antenna_name: slice(np.int64(1), np.int64(2), None)
uid___A002_Xced5df_Xf9d9.small_14
antenna_name: slice(np.int64(1), np.int64(2), None)
uid___A002_Xced5df_Xf9d9.small_15
antenna_name: slice(np.int64(1), np.int64(2), None)
uid___A002_Xced5df_Xf9d9.small_16
antenna_name: slice(np.int64(1), np.int64(2), None)
uid___A002_Xced5df_Xf9d9.small_17
antenna_name: slice(np.int64(1), np.int64(2), None)
uid___A002_Xced5df_Xf9d9.small_18
antenna_name: slice(np.int64(1), np.int64(2), None)
uid___A002_Xced5df_Xf9d9.small_19
antenna_name: slice(np.int64(1), np.int64(2), None)
task_coords
antenna_name
data: ['PM02_T701']
dims: ('antenna_name',)
attrs
task_id: 1
input_data: None
date_time: None
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "******************************\n" ] }, { "data": { "text/plain": [ "([42, 42],)" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dask.compute(dask_graph)" ] } ], "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" } }, "nbformat": 4, "nbformat_minor": 5 }