{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "collapsed": true, "id": "fv7OyVCrfC9v", "outputId": "20a64b13-1ed6-47e2-ca71-5868c51dd439", "tags": [ "hide-output" ] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Requirement already satisfied: pandas in /Users/rt2549/miniconda3/envs/mast-book/lib/python3.11/site-packages (2.2.2)\n", "Requirement already satisfied: matplotlib in /Users/rt2549/miniconda3/envs/mast-book/lib/python3.11/site-packages (3.9.0)\n", "Requirement already satisfied: zarr in /Users/rt2549/miniconda3/envs/mast-book/lib/python3.11/site-packages (2.18.2)\n", "Requirement already satisfied: fsspec in /Users/rt2549/miniconda3/envs/mast-book/lib/python3.11/site-packages (2024.6.0)\n", "Requirement already satisfied: s3fs in /Users/rt2549/miniconda3/envs/mast-book/lib/python3.11/site-packages (2024.6.0)\n", "Requirement already satisfied: intake in /Users/rt2549/miniconda3/envs/mast-book/lib/python3.11/site-packages (2.0.5)\n", "Requirement already satisfied: intake_xarray in /Users/rt2549/miniconda3/envs/mast-book/lib/python3.11/site-packages (0.7.0)\n", "Requirement already satisfied: intake_parquet in /Users/rt2549/miniconda3/envs/mast-book/lib/python3.11/site-packages (0.3.0)\n", "Requirement already satisfied: numpy>=1.23.2 in /Users/rt2549/miniconda3/envs/mast-book/lib/python3.11/site-packages (from pandas) (1.26.4)\n", "Requirement already satisfied: python-dateutil>=2.8.2 in /Users/rt2549/miniconda3/envs/mast-book/lib/python3.11/site-packages (from pandas) (2.9.0)\n", "Requirement already satisfied: pytz>=2020.1 in /Users/rt2549/miniconda3/envs/mast-book/lib/python3.11/site-packages (from pandas) (2024.1)\n", "Requirement already satisfied: tzdata>=2022.7 in /Users/rt2549/miniconda3/envs/mast-book/lib/python3.11/site-packages (from pandas) (2024.1)\n", "Requirement already satisfied: contourpy>=1.0.1 in /Users/rt2549/miniconda3/envs/mast-book/lib/python3.11/site-packages (from matplotlib) (1.2.1)\n", "Requirement already satisfied: cycler>=0.10 in /Users/rt2549/miniconda3/envs/mast-book/lib/python3.11/site-packages (from matplotlib) (0.12.1)\n", "Requirement already satisfied: fonttools>=4.22.0 in /Users/rt2549/miniconda3/envs/mast-book/lib/python3.11/site-packages (from matplotlib) (4.53.0)\n", "Requirement already satisfied: kiwisolver>=1.3.1 in /Users/rt2549/miniconda3/envs/mast-book/lib/python3.11/site-packages (from matplotlib) (1.4.5)\n", "Requirement already satisfied: packaging>=20.0 in /Users/rt2549/miniconda3/envs/mast-book/lib/python3.11/site-packages (from matplotlib) (24.1)\n", "Requirement already satisfied: pillow>=8 in /Users/rt2549/miniconda3/envs/mast-book/lib/python3.11/site-packages (from matplotlib) (10.3.0)\n", "Requirement already satisfied: pyparsing>=2.3.1 in /Users/rt2549/miniconda3/envs/mast-book/lib/python3.11/site-packages (from matplotlib) (3.1.2)\n", "Requirement already satisfied: asciitree in /Users/rt2549/miniconda3/envs/mast-book/lib/python3.11/site-packages (from zarr) (0.3.3)\n", "Requirement already satisfied: numcodecs>=0.10.0 in /Users/rt2549/miniconda3/envs/mast-book/lib/python3.11/site-packages (from zarr) (0.12.1)\n", "Requirement already satisfied: fasteners in /Users/rt2549/miniconda3/envs/mast-book/lib/python3.11/site-packages (from zarr) (0.19)\n", "Requirement already satisfied: aiobotocore<3.0.0,>=2.5.4 in /Users/rt2549/miniconda3/envs/mast-book/lib/python3.11/site-packages (from s3fs) (2.13.0)\n", "Requirement already satisfied: aiohttp!=4.0.0a0,!=4.0.0a1 in /Users/rt2549/miniconda3/envs/mast-book/lib/python3.11/site-packages (from s3fs) (3.9.5)\n", "Requirement already satisfied: pyyaml in /Users/rt2549/miniconda3/envs/mast-book/lib/python3.11/site-packages (from intake) (6.0.1)\n", "Requirement already satisfied: appdirs in /Users/rt2549/miniconda3/envs/mast-book/lib/python3.11/site-packages (from intake) (1.4.4)\n", "Requirement already satisfied: xarray>=02022 in /Users/rt2549/miniconda3/envs/mast-book/lib/python3.11/site-packages (from intake_xarray) (2024.5.0)\n", "Requirement already satisfied: dask>=2.2 in /Users/rt2549/miniconda3/envs/mast-book/lib/python3.11/site-packages (from intake_xarray) (2024.5.2)\n", "Requirement already satisfied: netcdf4 in /Users/rt2549/miniconda3/envs/mast-book/lib/python3.11/site-packages (from intake_xarray) (1.6.5)\n", "Requirement already satisfied: msgpack in /Users/rt2549/miniconda3/envs/mast-book/lib/python3.11/site-packages (from intake_xarray) (1.0.8)\n", "Requirement already satisfied: requests in /Users/rt2549/miniconda3/envs/mast-book/lib/python3.11/site-packages (from intake_xarray) (2.32.3)\n", "Requirement already satisfied: fastparquet in /Users/rt2549/miniconda3/envs/mast-book/lib/python3.11/site-packages (from intake_parquet) (2024.5.0)\n", "Requirement already satisfied: pyarrow in /Users/rt2549/miniconda3/envs/mast-book/lib/python3.11/site-packages (from intake_parquet) (16.1.0)\n", "Requirement already satisfied: botocore<1.34.107,>=1.34.70 in /Users/rt2549/miniconda3/envs/mast-book/lib/python3.11/site-packages (from aiobotocore<3.0.0,>=2.5.4->s3fs) (1.34.106)\n", "Requirement already satisfied: wrapt<2.0.0,>=1.10.10 in /Users/rt2549/miniconda3/envs/mast-book/lib/python3.11/site-packages (from aiobotocore<3.0.0,>=2.5.4->s3fs) (1.16.0)\n", "Requirement already satisfied: aioitertools<1.0.0,>=0.5.1 in /Users/rt2549/miniconda3/envs/mast-book/lib/python3.11/site-packages (from aiobotocore<3.0.0,>=2.5.4->s3fs) (0.11.0)\n", "Requirement already satisfied: aiosignal>=1.1.2 in /Users/rt2549/miniconda3/envs/mast-book/lib/python3.11/site-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->s3fs) (1.3.1)\n", "Requirement already satisfied: attrs>=17.3.0 in /Users/rt2549/miniconda3/envs/mast-book/lib/python3.11/site-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->s3fs) (23.2.0)\n", "Requirement already satisfied: frozenlist>=1.1.1 in /Users/rt2549/miniconda3/envs/mast-book/lib/python3.11/site-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->s3fs) (1.4.1)\n", "Requirement already satisfied: multidict<7.0,>=4.5 in /Users/rt2549/miniconda3/envs/mast-book/lib/python3.11/site-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->s3fs) (6.0.5)\n", "Requirement already satisfied: yarl<2.0,>=1.0 in /Users/rt2549/miniconda3/envs/mast-book/lib/python3.11/site-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->s3fs) (1.9.4)\n", "Requirement already satisfied: click>=8.1 in /Users/rt2549/miniconda3/envs/mast-book/lib/python3.11/site-packages (from dask>=2.2->intake_xarray) (8.1.7)\n", "Requirement already satisfied: cloudpickle>=1.5.0 in /Users/rt2549/miniconda3/envs/mast-book/lib/python3.11/site-packages (from dask>=2.2->intake_xarray) (3.0.0)\n", "Requirement already satisfied: partd>=1.2.0 in /Users/rt2549/miniconda3/envs/mast-book/lib/python3.11/site-packages (from dask>=2.2->intake_xarray) (1.4.2)\n", "Requirement already satisfied: toolz>=0.10.0 in /Users/rt2549/miniconda3/envs/mast-book/lib/python3.11/site-packages (from dask>=2.2->intake_xarray) (0.12.1)\n", "Requirement already satisfied: importlib-metadata>=4.13.0 in /Users/rt2549/miniconda3/envs/mast-book/lib/python3.11/site-packages (from dask>=2.2->intake_xarray) (7.1.0)\n", "Requirement already satisfied: six>=1.5 in /Users/rt2549/miniconda3/envs/mast-book/lib/python3.11/site-packages (from python-dateutil>=2.8.2->pandas) (1.16.0)\n", "Requirement already satisfied: cramjam>=2.3 in /Users/rt2549/miniconda3/envs/mast-book/lib/python3.11/site-packages (from fastparquet->intake_parquet) (2.8.3)\n", "Requirement already satisfied: cftime in /Users/rt2549/miniconda3/envs/mast-book/lib/python3.11/site-packages (from netcdf4->intake_xarray) (1.6.4)\n", "Requirement already satisfied: certifi in /Users/rt2549/miniconda3/envs/mast-book/lib/python3.11/site-packages (from netcdf4->intake_xarray) (2024.6.2)\n", "Requirement already satisfied: charset-normalizer<4,>=2 in /Users/rt2549/miniconda3/envs/mast-book/lib/python3.11/site-packages (from requests->intake_xarray) (3.3.2)\n", "Requirement already satisfied: idna<4,>=2.5 in /Users/rt2549/miniconda3/envs/mast-book/lib/python3.11/site-packages (from requests->intake_xarray) (3.7)\n", "Requirement already satisfied: urllib3<3,>=1.21.1 in /Users/rt2549/miniconda3/envs/mast-book/lib/python3.11/site-packages (from requests->intake_xarray) (2.2.1)\n", "Requirement already satisfied: jmespath<2.0.0,>=0.7.1 in /Users/rt2549/miniconda3/envs/mast-book/lib/python3.11/site-packages (from botocore<1.34.107,>=1.34.70->aiobotocore<3.0.0,>=2.5.4->s3fs) (1.0.1)\n", "Requirement already satisfied: zipp>=0.5 in /Users/rt2549/miniconda3/envs/mast-book/lib/python3.11/site-packages (from importlib-metadata>=4.13.0->dask>=2.2->intake_xarray) (3.19.2)\n", "Requirement already satisfied: locket in /Users/rt2549/miniconda3/envs/mast-book/lib/python3.11/site-packages (from partd>=1.2.0->dask>=2.2->intake_xarray) (1.0.0)\n" ] } ], "source": [ "!pip install pandas matplotlib zarr fsspec s3fs intake intake_xarray intake_parquet" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "id": "A88d8FK2fC9w" }, "outputs": [], "source": [ "import intake\n", "import matplotlib.pyplot as plt\n", "\n", "plt.rcParams[\"font.family\"] = \"sans\"\n", "plt.rcParams[\"font.size\"] = 8" ] }, { "cell_type": "markdown", "metadata": { "id": "t9cP5ZVovY7J" }, "source": [ "First let's take a look at the top level shots. In this table we can find all of the metadata we have about particular shots." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 669 }, "id": "LU6YGO6-sWfd", "outputId": "bcddcf93-7ef6-447c-acee-f223723784eb" }, "outputs": [ { "data": { "text/html": [ "
\n", " | url | \n", "preshot_description | \n", "postshot_description | \n", "campaign | \n", "current_range | \n", "divertor_config | \n", "plasma_shape | \n", "comissioner | \n", "facility | \n", "shot_id | \n", "... | \n", "cpf_vol_ipmax | \n", "cpf_vol_max | \n", "cpf_vol_truby | \n", "cpf_wmhd_ipmax | \n", "cpf_wmhd_max | \n", "cpf_wmhd_truby | \n", "cpf_zeff_ipmax | \n", "cpf_zeff_max | \n", "cpf_zeff_truby | \n", "cpf_zmag_efit | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "s3://mast/level1/shots/11695.zarr | \n", "\\n0.1T TF SHOT\\n | \n", "\\nOK\\n | \n", "M5 | \n", "None | \n", "Conventional | \n", "None | \n", "None | \n", "MAST | \n", "11695 | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "None | \n", "None | \n", "None | \n", "NaN | \n", "
1 | \n", "s3://mast/level1/shots/11696.zarr | \n", "\\nSTANDARD 0.3T TF SHOT\\n | \n", "\\nOK\\n | \n", "M5 | \n", "None | \n", "Conventional | \n", "None | \n", "None | \n", "MAST | \n", "11696 | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "None | \n", "None | \n", "None | \n", "NaN | \n", "
2 | \n", "s3://mast/level1/shots/11697.zarr | \n", "\\nRAISE TO 0.5T\\n | \n", "\\nOK, ALARMS ARE LOWER\\n | \n", "M5 | \n", "None | \n", "Conventional | \n", "None | \n", "None | \n", "MAST | \n", "11697 | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "None | \n", "None | \n", "None | \n", "NaN | \n", "
3 | \n", "s3://mast/level1/shots/11698.zarr | \n", "\\nRAISE TO .56T\\n | \n", "\\nSTILL ALARMS BUT LOWER AGAIN\\n | \n", "M5 | \n", "None | \n", "Conventional | \n", "None | \n", "None | \n", "MAST | \n", "11698 | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "None | \n", "None | \n", "None | \n", "NaN | \n", "
4 | \n", "s3://mast/level1/shots/11699.zarr | \n", "\\nRAISE TO .58T\\n | \n", "\\nOK\\n | \n", "M5 | \n", "None | \n", "Conventional | \n", "None | \n", "None | \n", "MAST | \n", "11699 | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "None | \n", "None | \n", "None | \n", "NaN | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
15548 | \n", "s3://mast/level1/shots/30467.zarr | \n", "\\nRepeat with new neutron camera position.\\ncH... | \n", "\\nTwo times lower DD neutron rate than referen... | \n", "M9 | \n", "700 kA | \n", "Conventional | \n", "Connected Double Null | \n", "None | \n", "MAST | \n", "30467 | \n", "... | \n", "9.029202 | \n", "9.046394 | \n", "0.0 | \n", "49469.122469 | \n", "52653.445 | \n", "0.0 | \n", "None | \n", "None | \n", "None | \n", "0.013202 | \n", "
15549 | \n", "s3://mast/level1/shots/30468.zarr | \n", "\\nRepeat with new neutron camera position.\\ncH... | \n", "\\nGood beam.\\nGood repeat.\\n | \n", "M9 | \n", "700 kA | \n", "Conventional | \n", "Lower Single Null | \n", "None | \n", "MAST | \n", "30468 | \n", "... | \n", "9.102411 | \n", "9.107017 | \n", "0.0 | \n", "48516.962675 | \n", "49382.133 | \n", "0.0 | \n", "None | \n", "None | \n", "None | \n", "0.012445 | \n", "
15550 | \n", "s3://mast/level1/shots/30469.zarr | \n", "\\nRepeat with increased beam power (74 kV)\\ncH... | \n", "\\nGood shot. Modes present.\\n | \n", "M9 | \n", "700 kA | \n", "Conventional | \n", "Connected Double Null | \n", "None | \n", "MAST | \n", "30469 | \n", "... | \n", "8.988730 | \n", "9.047923 | \n", "0.0 | \n", "47466.249616 | \n", "49115.805 | \n", "0.0 | \n", "None | \n", "None | \n", "None | \n", "0.015299 | \n", "
15551 | \n", "s3://mast/level1/shots/30470.zarr | \n", "\\nRepeat last using hydrogen in outboard and c... | \n", "\\nNo HF gas.\\n | \n", "M9 | \n", "700 kA | \n", "Conventional | \n", "None | \n", "None | \n", "MAST | \n", "30470 | \n", "... | \n", "9.687049 | \n", "10.055509 | \n", "0.0 | \n", "17290.432865 | \n", "22310.516 | \n", "0.0 | \n", "None | \n", "None | \n", "None | \n", "0.015164 | \n", "
15552 | \n", "s3://mast/level1/shots/30471.zarr | \n", "\\nThe last plasma:\\nConvert to i/b Helios 1724... | \n", "\\nGood shot.\\n | \n", "M9 | \n", "700 kA | \n", "Conventional | \n", "Lower Single Null | \n", "None | \n", "MAST | \n", "30471 | \n", "... | \n", "8.817559 | \n", "9.283702 | \n", "0.0 | \n", "38063.582380 | \n", "40906.090 | \n", "0.0 | \n", "None | \n", "None | \n", "None | \n", "0.014340 | \n", "
15553 rows × 282 columns
\n", "\n", " | description | \n", "quality | \n", "uuid | \n", "shot_id | \n", "name | \n", "url | \n", "
---|---|---|---|---|---|---|
36519 | \n", "Core Thomson scattering data | \n", "Not Checked | \n", "a61fdefa-e7e9-57df-a7f3-a341f737bcdd | \n", "23001 | \n", "ayc | \n", "s3://mast/level1/shots/23001.zarr/ayc | \n", "
36574 | \n", "Core Thomson scattering data | \n", "Not Checked | \n", "a654a084-97f5-52f5-99d6-4e726880b39a | \n", "23018 | \n", "ayc | \n", "s3://mast/level1/shots/23018.zarr/ayc | \n", "
36732 | \n", "Core Thomson scattering data | \n", "Not Checked | \n", "3cca7bc2-9c91-5bd9-a1cd-939142a84cd2 | \n", "23133 | \n", "ayc | \n", "s3://mast/level1/shots/23133.zarr/ayc | \n", "
36742 | \n", "Core Thomson scattering data | \n", "Not Checked | \n", "6fd9ab2f-ca5f-57a2-ba81-589cf6efe7d5 | \n", "23135 | \n", "ayc | \n", "s3://mast/level1/shots/23135.zarr/ayc | \n", "
36747 | \n", "Core Thomson scattering data | \n", "Not Checked | \n", "5334374c-8f9a-5437-aa56-822448ea5d27 | \n", "23136 | \n", "ayc | \n", "s3://mast/level1/shots/23136.zarr/ayc | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
99004 | \n", "Core Thomson scattering data | \n", "Not Checked | \n", "1d345219-99c7-5725-9d65-2c9d455b629c | \n", "30467 | \n", "ayc | \n", "s3://mast/level1/shots/30467.zarr/ayc | \n", "
99019 | \n", "Core Thomson scattering data | \n", "Not Checked | \n", "9ac2f540-8845-5c5a-8932-7634b7834d40 | \n", "30468 | \n", "ayc | \n", "s3://mast/level1/shots/30468.zarr/ayc | \n", "
99034 | \n", "Core Thomson scattering data | \n", "Not Checked | \n", "d07dc339-1510-525c-9fa9-015900101656 | \n", "30469 | \n", "ayc | \n", "s3://mast/level1/shots/30469.zarr/ayc | \n", "
99049 | \n", "Core Thomson scattering data | \n", "Not Checked | \n", "fa9b2d5d-348b-5e00-a4d5-fc5e39d75452 | \n", "30470 | \n", "ayc | \n", "s3://mast/level1/shots/30470.zarr/ayc | \n", "
99064 | \n", "Core Thomson scattering data | \n", "Not Checked | \n", "113ec983-6e14-5e41-8111-aadb0f744471 | \n", "30471 | \n", "ayc | \n", "s3://mast/level1/shots/30471.zarr/ayc | \n", "
4665 rows × 6 columns
\n", "<xarray.Dataset> Size: 1MB\n", "Dimensions: (acqiris_time: 73, radial_index: 130, arb: 130,\n", " time: 73, spectral_index: 4, instrument_time: 20,\n", " xyc_time: 73)\n", "Coordinates:\n", " * acqiris_time (acqiris_time) float32 292B 0.0 1.0 2.0 ... 71.0 72.0\n", " * arb (arb) float32 520B 0.0 1.0 2.0 ... 127.0 128.0 129.0\n", " * instrument_time (instrument_time) float32 80B 1.0 2.0 3.0 ... 19.0 20.0\n", " * radial_index (radial_index) float32 520B 0.0 1.0 2.0 ... 128.0 129.0\n", " * spectral_index (spectral_index) float32 16B 1.0 2.0 3.0 4.0\n", " * time (time) float32 292B 0.004166 0.008332 ... 0.3 0.3042\n", " * xyc_time (xyc_time) float32 292B 0.0 1.0 2.0 ... 70.0 71.0 72.0\n", "Data variables: (12/36)\n", " acqiris_time_ (acqiris_time) float32 292B dask.array<chunksize=(73,), meta=np.ndarray>\n", " angle (radial_index) float32 520B dask.array<chunksize=(130,), meta=np.ndarray>\n", " aspectra (time, radial_index, spectral_index) float32 152kB dask.array<chunksize=(73, 130, 4), meta=np.ndarray>\n", " chi2 (time, radial_index) float32 38kB dask.array<chunksize=(73, 130), meta=np.ndarray>\n", " covariance_ne_te (time, radial_index) float32 38kB dask.array<chunksize=(73, 130), meta=np.ndarray>\n", " instrument_dr (instrument_time, radial_index) float32 10kB dask.array<chunksize=(20, 130), meta=np.ndarray>\n", " ... ...\n", " te_error (time, radial_index) float32 38kB dask.array<chunksize=(73, 130), meta=np.ndarray>\n", " version_fibre float32 4B ...\n", " version_poly float32 4B ...\n", " version_raman float32 4B ...\n", " xyc_time_ (xyc_time) float32 292B dask.array<chunksize=(73,), meta=np.ndarray>\n", " yag_nelint (time) float32 292B dask.array<chunksize=(73,), meta=np.ndarray>\n", "Attributes:\n", " description: Core Thomson scattering data\n", " file_name: ayc0304.20\n", " format: IDA3\n", " mds_name: None\n", " name: ayc\n", " quality: Not Checked\n", " shot_id: 30420\n", " signal_type: Analysed\n", " source: ayc\n", " uda_name: AYC\n", " uuid: 8d043ece-8bf8-5af8-87e4-d2a1b01716fa\n", " version: 0