{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": { "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": 14, "metadata": {}, "outputs": [], "source": [ "import intake\n", "import numpy as np\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "markdown", "metadata": {}, "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": 4, "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", "
urlpreshot_descriptionpostshot_descriptioncampaigncurrent_rangedivertor_configplasma_shapecomissionerfacilityshot_id...cpf_vol_ipmaxcpf_vol_maxcpf_vol_trubycpf_wmhd_ipmaxcpf_wmhd_maxcpf_wmhd_trubycpf_zeff_ipmaxcpf_zeff_maxcpf_zeff_trubycpf_zmag_efit
0s3://mast/level1/shots/11695.zarr\\n0.1T TF SHOT\\n\\nOK\\nM5NoneConventionalNoneNoneMAST11695...NaNNaNNaNNaNNaNNaNNoneNoneNoneNaN
1s3://mast/level1/shots/11696.zarr\\nSTANDARD 0.3T TF SHOT\\n\\nOK\\nM5NoneConventionalNoneNoneMAST11696...NaNNaNNaNNaNNaNNaNNoneNoneNoneNaN
2s3://mast/level1/shots/11697.zarr\\nRAISE TO 0.5T\\n\\nOK, ALARMS ARE LOWER\\nM5NoneConventionalNoneNoneMAST11697...NaNNaNNaNNaNNaNNaNNoneNoneNoneNaN
3s3://mast/level1/shots/11698.zarr\\nRAISE TO .56T\\n\\nSTILL ALARMS BUT LOWER AGAIN\\nM5NoneConventionalNoneNoneMAST11698...NaNNaNNaNNaNNaNNaNNoneNoneNoneNaN
4s3://mast/level1/shots/11699.zarr\\nRAISE TO .58T\\n\\nOK\\nM5NoneConventionalNoneNoneMAST11699...NaNNaNNaNNaNNaNNaNNoneNoneNoneNaN
..................................................................
15548s3://mast/level1/shots/30467.zarr\\nRepeat with new neutron camera position.\\ncH...\\nTwo times lower DD neutron rate than referen...M9700 kAConventionalConnected Double NullNoneMAST30467...9.0292029.0463940.049469.12246952653.4450.0NoneNoneNone0.013202
15549s3://mast/level1/shots/30468.zarr\\nRepeat with new neutron camera position.\\ncH...\\nGood beam.\\nGood repeat.\\nM9700 kAConventionalLower Single NullNoneMAST30468...9.1024119.1070170.048516.96267549382.1330.0NoneNoneNone0.012445
15550s3://mast/level1/shots/30469.zarr\\nRepeat with increased beam power (74 kV)\\ncH...\\nGood shot. Modes present.\\nM9700 kAConventionalConnected Double NullNoneMAST30469...8.9887309.0479230.047466.24961649115.8050.0NoneNoneNone0.015299
15551s3://mast/level1/shots/30470.zarr\\nRepeat last using hydrogen in outboard and c...\\nNo HF gas.\\nM9700 kAConventionalNoneNoneMAST30470...9.68704910.0555090.017290.43286522310.5160.0NoneNoneNone0.015164
15552s3://mast/level1/shots/30471.zarr\\nThe last plasma:\\nConvert to i/b Helios 1724...\\nGood shot.\\nM9700 kAConventionalLower Single NullNoneMAST30471...8.8175599.2837020.038063.58238040906.0900.0NoneNoneNone0.014340
\n", "

15553 rows × 282 columns

\n", "
" ], "text/plain": [ " url \\\n", "0 s3://mast/level1/shots/11695.zarr \n", "1 s3://mast/level1/shots/11696.zarr \n", "2 s3://mast/level1/shots/11697.zarr \n", "3 s3://mast/level1/shots/11698.zarr \n", "4 s3://mast/level1/shots/11699.zarr \n", "... ... \n", "15548 s3://mast/level1/shots/30467.zarr \n", "15549 s3://mast/level1/shots/30468.zarr \n", "15550 s3://mast/level1/shots/30469.zarr \n", "15551 s3://mast/level1/shots/30470.zarr \n", "15552 s3://mast/level1/shots/30471.zarr \n", "\n", " preshot_description \\\n", "0 \\n0.1T TF SHOT\\n \n", "1 \\nSTANDARD 0.3T TF SHOT\\n \n", "2 \\nRAISE TO 0.5T\\n \n", "3 \\nRAISE TO .56T\\n \n", "4 \\nRAISE TO .58T\\n \n", "... ... \n", "15548 \\nRepeat with new neutron camera position.\\ncH... \n", "15549 \\nRepeat with new neutron camera position.\\ncH... \n", "15550 \\nRepeat with increased beam power (74 kV)\\ncH... \n", "15551 \\nRepeat last using hydrogen in outboard and c... \n", "15552 \\nThe last plasma:\\nConvert to i/b Helios 1724... \n", "\n", " postshot_description campaign \\\n", "0 \\nOK\\n M5 \n", "1 \\nOK\\n M5 \n", "2 \\nOK, ALARMS ARE LOWER\\n M5 \n", "3 \\nSTILL ALARMS BUT LOWER AGAIN\\n M5 \n", "4 \\nOK\\n M5 \n", "... ... ... \n", "15548 \\nTwo times lower DD neutron rate than referen... M9 \n", "15549 \\nGood beam.\\nGood repeat.\\n M9 \n", "15550 \\nGood shot. Modes present.\\n M9 \n", "15551 \\nNo HF gas.\\n M9 \n", "15552 \\nGood shot.\\n M9 \n", "\n", " current_range divertor_config plasma_shape comissioner \\\n", "0 None Conventional None None \n", "1 None Conventional None None \n", "2 None Conventional None None \n", "3 None Conventional None None \n", "4 None Conventional None None \n", "... ... ... ... ... \n", "15548 700 kA Conventional Connected Double Null None \n", "15549 700 kA Conventional Lower Single Null None \n", "15550 700 kA Conventional Connected Double Null None \n", "15551 700 kA Conventional None None \n", "15552 700 kA Conventional Lower Single Null None \n", "\n", " facility shot_id ... cpf_vol_ipmax cpf_vol_max cpf_vol_truby \\\n", "0 MAST 11695 ... NaN NaN NaN \n", "1 MAST 11696 ... NaN NaN NaN \n", "2 MAST 11697 ... NaN NaN NaN \n", "3 MAST 11698 ... NaN NaN NaN \n", "4 MAST 11699 ... NaN NaN NaN \n", "... ... ... ... ... ... ... \n", "15548 MAST 30467 ... 9.029202 9.046394 0.0 \n", "15549 MAST 30468 ... 9.102411 9.107017 0.0 \n", "15550 MAST 30469 ... 8.988730 9.047923 0.0 \n", "15551 MAST 30470 ... 9.687049 10.055509 0.0 \n", "15552 MAST 30471 ... 8.817559 9.283702 0.0 \n", "\n", " cpf_wmhd_ipmax cpf_wmhd_max cpf_wmhd_truby cpf_zeff_ipmax cpf_zeff_max \\\n", "0 NaN NaN NaN None None \n", "1 NaN NaN NaN None None \n", "2 NaN NaN NaN None None \n", "3 NaN NaN NaN None None \n", "4 NaN NaN NaN None None \n", "... ... ... ... ... ... \n", "15548 49469.122469 52653.445 0.0 None None \n", "15549 48516.962675 49382.133 0.0 None None \n", "15550 47466.249616 49115.805 0.0 None None \n", "15551 17290.432865 22310.516 0.0 None None \n", "15552 38063.582380 40906.090 0.0 None None \n", "\n", " cpf_zeff_truby cpf_zmag_efit \n", "0 None NaN \n", "1 None NaN \n", "2 None NaN \n", "3 None NaN \n", "4 None NaN \n", "... ... ... \n", "15548 None 0.013202 \n", "15549 None 0.012445 \n", "15550 None 0.015299 \n", "15551 None 0.015164 \n", "15552 None 0.014340 \n", "\n", "[15553 rows x 282 columns]" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "catalog = intake.open_catalog('https://mastapp.site/intake/catalog.yml')\n", "shots_df = catalog.index.level1.shots().read()\n", "shots_df" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# EFIT Data\n", "This notebook contains some examples of loading and plotting equillibrium reconstruction data from EFIT.\n", "\n", "First we can have a look at how many EFIT reconstructions are in the database:" ] }, { "cell_type": "code", "execution_count": 7, "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", "
descriptionqualityuuidshot_idnameurl
1Basic EFITNot Checkedfd0a0dc4-1ed8-546f-8c02-455061374fd411695efms3://mast/level1/shots/11695.zarr/efm
3Basic EFITNot Checkedc553a338-249f-58d5-9ba8-14f5c507c4e411696efms3://mast/level1/shots/11696.zarr/efm
5Basic EFITNot Checkedf2ce95e9-bfe8-595d-a1eb-d860de377ab211697efms3://mast/level1/shots/11697.zarr/efm
7Basic EFITNot Checkedf1fbd4b8-d68b-54bd-a9c0-209fddf9cef011698efms3://mast/level1/shots/11698.zarr/efm
9Basic EFITNot Checked798d44ea-0773-5020-8c3c-083b1bdb3aab11699efms3://mast/level1/shots/11699.zarr/efm
.....................
99006Basic EFITNot Checked72422662-d3dd-5bb9-abdc-5e5e3427587e30467efms3://mast/level1/shots/30467.zarr/efm
99021Basic EFITNot Checked5f073f88-7f09-53ca-b204-e9c620b0672d30468efms3://mast/level1/shots/30468.zarr/efm
99036Basic EFITNot Checked0bcd11d2-f8f5-5ca3-94e6-235c13b1434d30469efms3://mast/level1/shots/30469.zarr/efm
99051Basic EFITNot Checked91cbcfda-7434-55be-a760-80493d6e8f4630470efms3://mast/level1/shots/30470.zarr/efm
99066Basic EFITNot Checked1b50bfb9-e9f3-5c23-8f5b-5821e441d1b730471efms3://mast/level1/shots/30471.zarr/efm
\n", "

13621 rows × 6 columns

\n", "
" ], "text/plain": [ " description quality uuid shot_id \\\n", "1 Basic EFIT Not Checked fd0a0dc4-1ed8-546f-8c02-455061374fd4 11695 \n", "3 Basic EFIT Not Checked c553a338-249f-58d5-9ba8-14f5c507c4e4 11696 \n", "5 Basic EFIT Not Checked f2ce95e9-bfe8-595d-a1eb-d860de377ab2 11697 \n", "7 Basic EFIT Not Checked f1fbd4b8-d68b-54bd-a9c0-209fddf9cef0 11698 \n", "9 Basic EFIT Not Checked 798d44ea-0773-5020-8c3c-083b1bdb3aab 11699 \n", "... ... ... ... ... \n", "99006 Basic EFIT Not Checked 72422662-d3dd-5bb9-abdc-5e5e3427587e 30467 \n", "99021 Basic EFIT Not Checked 5f073f88-7f09-53ca-b204-e9c620b0672d 30468 \n", "99036 Basic EFIT Not Checked 0bcd11d2-f8f5-5ca3-94e6-235c13b1434d 30469 \n", "99051 Basic EFIT Not Checked 91cbcfda-7434-55be-a760-80493d6e8f46 30470 \n", "99066 Basic EFIT Not Checked 1b50bfb9-e9f3-5c23-8f5b-5821e441d1b7 30471 \n", "\n", " name url \n", "1 efm s3://mast/level1/shots/11695.zarr/efm \n", "3 efm s3://mast/level1/shots/11696.zarr/efm \n", "5 efm s3://mast/level1/shots/11697.zarr/efm \n", "7 efm s3://mast/level1/shots/11698.zarr/efm \n", "9 efm s3://mast/level1/shots/11699.zarr/efm \n", "... ... ... \n", "99006 efm s3://mast/level1/shots/30467.zarr/efm \n", "99021 efm s3://mast/level1/shots/30468.zarr/efm \n", "99036 efm s3://mast/level1/shots/30469.zarr/efm \n", "99051 efm s3://mast/level1/shots/30470.zarr/efm \n", "99066 efm s3://mast/level1/shots/30471.zarr/efm \n", "\n", "[13621 rows x 6 columns]" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "catalog = intake.open_catalog('https://mastapp.site/intake/catalog.yml')\n", "sources_df = catalog.index.level1.sources().read()\n", "\n", "# Can also use name == 'aye' for thompson scattering edge data.\n", "sources_df = sources_df.loc[(sources_df.name == 'efm')]\n", "sources_df" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's look at the data for a particular shot. Here we are going to use shot 30420 as an example. Below we get the url for the `efm` data." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'s3://mast/level1/shots/30420.zarr/efm'" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "shot_id = 30420\n", "url = sources_df.loc[sources_df.shot_id == shot_id].iloc[0].url\n", "url" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "`efm` source holds the EFIT data as a single dataset." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.Dataset> Size: 4MB\n",
       "Dimensions:            (time: 64, psi_norm: 65, n_iterations: 10,\n",
       "                        fcoil_seg_n: 938, fcoil_n: 101, ffprime_coefs_n: 2,\n",
       "                        mag_probe_n: 78, psi_loop_n: 46, r: 65, z: 65,\n",
       "                        profile_r: 129, lcfs_coords: 147, limiter_n: 37,\n",
       "                        pprime_coefs_n: 2, profile_z: 65)\n",
       "Coordinates: (12/13)\n",
       "  * fcoil_n            (fcoil_n) float32 404B 0.0 1.0 2.0 ... 98.0 99.0 100.0\n",
       "  * ffprime_coefs_n    (ffprime_coefs_n) float32 8B 0.0 1.0\n",
       "  * lcfs_coords        (lcfs_coords) float32 588B 0.0 1.0 2.0 ... 145.0 146.0\n",
       "  * mag_probe_n        (mag_probe_n) float32 312B 0.0 1.0 2.0 ... 75.0 76.0 77.0\n",
       "  * n_iterations       (n_iterations) float32 40B 0.0 1.0 2.0 ... 7.0 8.0 9.0\n",
       "  * pprime_coefs_n     (pprime_coefs_n) float32 8B 0.0 1.0\n",
       "    ...                 ...\n",
       "  * profile_z          (profile_z) float32 260B -2.0 -1.938 -1.875 ... 1.938 2.0\n",
       "  * psi_loop_n         (psi_loop_n) float32 184B 0.0 1.0 2.0 ... 43.0 44.0 45.0\n",
       "  * psi_norm           (psi_norm) float32 260B 0.0 0.01562 ... 0.9844 1.0\n",
       "  * r                  (r) float32 260B 0.06 0.09031 0.1206 ... 1.939 1.97 2.0\n",
       "  * time               (time) float32 256B -0.05 -0.045 -0.04 ... 0.29 0.295 0.3\n",
       "  * z                  (z) float32 260B -2.0 -1.938 -1.875 ... 1.875 1.938 2.0\n",
       "Dimensions without coordinates: fcoil_seg_n, limiter_n\n",
       "Data variables: (12/151)\n",
       "    all_times          (time) float32 256B dask.array<chunksize=(64,), meta=np.ndarray>\n",
       "    areap_c            (time, psi_norm) float32 17kB dask.array<chunksize=(64, 65), meta=np.ndarray>\n",
       "    betan              (time) float32 256B dask.array<chunksize=(64,), meta=np.ndarray>\n",
       "    betap              (time) float32 256B dask.array<chunksize=(64,), meta=np.ndarray>\n",
       "    betapd             (time) float32 256B dask.array<chunksize=(64,), meta=np.ndarray>\n",
       "    betat              (time) float32 256B dask.array<chunksize=(64,), meta=np.ndarray>\n",
       "    ...                 ...\n",
       "    wpol               (time) float32 256B dask.array<chunksize=(64,), meta=np.ndarray>\n",
       "    xpoint1_rc         (time) float32 256B dask.array<chunksize=(64,), meta=np.ndarray>\n",
       "    xpoint1_zc         (time) float32 256B dask.array<chunksize=(64,), meta=np.ndarray>\n",
       "    xpoint2_rc         (time) float32 256B dask.array<chunksize=(64,), meta=np.ndarray>\n",
       "    xpoint2_zc         (time) float32 256B dask.array<chunksize=(64,), meta=np.ndarray>\n",
       "    zbdry              (time) float32 256B dask.array<chunksize=(64,), meta=np.ndarray>\n",
       "Attributes:\n",
       "    description:  Basic EFIT\n",
       "    file_name:    efm0304.20\n",
       "    format:       IDA3\n",
       "    mds_name:     None\n",
       "    name:         efm\n",
       "    quality:      Not Checked\n",
       "    shot_id:      30420\n",
       "    signal_type:  Analysed\n",
       "    source:       efm\n",
       "    uda_name:     EFM\n",
       "    uuid:         1e39c600-8ffb-5f56-900d-2941e352319c\n",
       "    version:      0
" ], "text/plain": [ " Size: 4MB\n", "Dimensions: (time: 64, psi_norm: 65, n_iterations: 10,\n", " fcoil_seg_n: 938, fcoil_n: 101, ffprime_coefs_n: 2,\n", " mag_probe_n: 78, psi_loop_n: 46, r: 65, z: 65,\n", " profile_r: 129, lcfs_coords: 147, limiter_n: 37,\n", " pprime_coefs_n: 2, profile_z: 65)\n", "Coordinates: (12/13)\n", " * fcoil_n (fcoil_n) float32 404B 0.0 1.0 2.0 ... 98.0 99.0 100.0\n", " * ffprime_coefs_n (ffprime_coefs_n) float32 8B 0.0 1.0\n", " * lcfs_coords (lcfs_coords) float32 588B 0.0 1.0 2.0 ... 145.0 146.0\n", " * mag_probe_n (mag_probe_n) float32 312B 0.0 1.0 2.0 ... 75.0 76.0 77.0\n", " * n_iterations (n_iterations) float32 40B 0.0 1.0 2.0 ... 7.0 8.0 9.0\n", " * pprime_coefs_n (pprime_coefs_n) float32 8B 0.0 1.0\n", " ... ...\n", " * profile_z (profile_z) float32 260B -2.0 -1.938 -1.875 ... 1.938 2.0\n", " * psi_loop_n (psi_loop_n) float32 184B 0.0 1.0 2.0 ... 43.0 44.0 45.0\n", " * psi_norm (psi_norm) float32 260B 0.0 0.01562 ... 0.9844 1.0\n", " * r (r) float32 260B 0.06 0.09031 0.1206 ... 1.939 1.97 2.0\n", " * time (time) float32 256B -0.05 -0.045 -0.04 ... 0.29 0.295 0.3\n", " * z (z) float32 260B -2.0 -1.938 -1.875 ... 1.875 1.938 2.0\n", "Dimensions without coordinates: fcoil_seg_n, limiter_n\n", "Data variables: (12/151)\n", " all_times (time) float32 256B dask.array\n", " areap_c (time, psi_norm) float32 17kB dask.array\n", " betan (time) float32 256B dask.array\n", " betap (time) float32 256B dask.array\n", " betapd (time) float32 256B dask.array\n", " betat (time) float32 256B dask.array\n", " ... ...\n", " wpol (time) float32 256B dask.array\n", " xpoint1_rc (time) float32 256B dask.array\n", " xpoint1_zc (time) float32 256B dask.array\n", " xpoint2_rc (time) float32 256B dask.array\n", " xpoint2_zc (time) float32 256B dask.array\n", " zbdry (time) float32 256B dask.array\n", "Attributes:\n", " description: Basic EFIT\n", " file_name: efm0304.20\n", " format: IDA3\n", " mds_name: None\n", " name: efm\n", " quality: Not Checked\n", " shot_id: 30420\n", " signal_type: Analysed\n", " source: efm\n", " uda_name: EFM\n", " uuid: 1e39c600-8ffb-5f56-900d-2941e352319c\n", " version: 0" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dataset = catalog.level1.sources(url=url)\n", "dataset = dataset.to_dask()\n", "\n", "dataset" ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/var/folders/xr/yr8z575s52b4tbg3fj65qwx00000gp/T/ipykernel_8432/494923854.py:34: UserWarning: The following kwargs were not used by contour: 'label'\n", " ax1.contourf(R, Z, polodial_flux_rz, cmap='magma', levels=50, label='Polodial Flux')\n", "/var/folders/xr/yr8z575s52b4tbg3fj65qwx00000gp/T/ipykernel_8432/494923854.py:42: UserWarning: The following kwargs were not used by contour: 'label'\n", " ax2.contourf(R, Z, plasma_current, cmap='magma', levels=20, label='Plasma Current')\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "time_index = 50\n", "\n", "plasma_current = dataset['plasma_current_rz'].dropna(dim='time')\n", "plasma_current = plasma_current.isel(time=time_index)\n", "\n", "polodial_flux_rz = dataset['psirz']\n", "polodial_flux_rz = polodial_flux_rz.dropna(dim='profile_r')\n", "polodial_flux_rz = polodial_flux_rz.isel(time=time_index)\n", "\n", "lcfs_R = dataset['lcfs_r'].isel(time=time_index)\n", "lcfs_Z = dataset['lcfs_z'].isel(time=time_index)\n", "\n", "# Get the R and Z coordinates of the profiles.\n", "r = dataset['r']\n", "z = dataset['z']\n", "R, Z = np.meshgrid(r, z)\n", "\n", "# Get the x-point\n", "xpoint_r = dataset['xpoint2_rc'][time_index]\n", "xpoint_z = dataset['xpoint2_zc'][time_index]\n", "\n", "# Get the current centre\n", "mag_axis_r = dataset['current_centrd_r'][time_index]\n", "mag_axis_z = dataset['current_centrd_z'][time_index]\n", "\n", "\n", "# Get the last closed flux surface (LCFS)\n", "lcfs_r = lcfs_R.values\n", "lcfs_r = lcfs_r[~np.isnan(lcfs_r)]\n", "lcfs_z = lcfs_Z.values\n", "lcfs_z = lcfs_z[~np.isnan(lcfs_z)]\n", "\n", "fig, (ax1, ax2) = plt.subplots(1, 2)\n", "ax1.contourf(R, Z, polodial_flux_rz, cmap='magma', levels=50, label='Polodial Flux')\n", "ax1.scatter(xpoint_r, xpoint_z, marker='x', color='green', label='X Point')\n", "ax1.scatter(mag_axis_r, mag_axis_z, marker='o', color='purple', label='Current Centre')\n", "ax1.plot(lcfs_r, lcfs_z, c='blue', linestyle='--', label='LCFS')\n", "ax1.set_title(f'Polodial Flux for Shot {polodial_flux_rz.attrs[\"shot_id\"]}')\n", "ax1.set_ylabel('Z (m)')\n", "ax1.set_xlabel('R (m)')\n", "\n", "ax2.contourf(R, Z, plasma_current, cmap='magma', levels=20, label='Plasma Current')\n", "ax2.scatter(xpoint_r, xpoint_z, marker='x', color='green', label='X Point')\n", "ax2.scatter(mag_axis_r, mag_axis_z, marker='o', color='purple', label='Current Centre')\n", "ax2.plot(lcfs_r, lcfs_z, c='blue', linestyle='--', label='LCFS')\n", "ax2.set_title(f'Plasma Current for Shot {plasma_current.attrs[\"shot_id\"]}')\n", "plt.ylabel('Z (m)')\n", "plt.xlabel('R (m)')\n", "plt.legend()\n", "plt.tight_layout()" ] } ], "metadata": { "kernelspec": { "display_name": "mast-book", "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.11.9" } }, "nbformat": 4, "nbformat_minor": 2 }