{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "d2599f23", "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import s3fs\n", "import xarray as xr\n", "import zarr\n", "import fsspec" ] }, { "cell_type": "code", "execution_count": 2, "id": "10496a0d", "metadata": {}, "outputs": [], "source": [ "ENDPOINT = \"https://s3.echo.stfc.ac.uk\"\n", "# FS = s3fs.S3FileSystem(endpoint_url=ENDPOINT, anon=True) # For level 1 dataset\n", "FS = fsspec.filesystem(\n", " protocol='simplecache',\n", " target_protocol=\"s3\",\n", " target_options=dict(anon=True, endpoint_url=ENDPOINT)\n", ")\n", "shot_id = 23447\n", "store = zarr.storage.FSStore(fs=FS, url=f\"s3://mast/level2/shots/{shot_id}.zarr\")" ] }, { "cell_type": "code", "execution_count": 21, "id": "60b107a0", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['thomson_scattering',\n", " 'charge_exchange',\n", " 'equilibrium',\n", " 'summary',\n", " 'pulse_schedule',\n", " 'spectrometer_visible',\n", " 'interferometer',\n", " 'pf_active',\n", " 'magnetics',\n", " 'gas_injection',\n", " 'soft_x_rays']" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "root = zarr.open_group(store)#, mode=\"r\")\n", "list(set(list(root.group_keys())))" ] }, { "cell_type": "code", "execution_count": 14, "id": "dcbc9226", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['.zgroup',\n", " '.zmetadata',\n", " 'charge_exchange/.zattrs',\n", " 'charge_exchange/.zgroup',\n", " 'charge_exchange/major_radius/.zarray',\n", " 'charge_exchange/major_radius/.zattrs',\n", " 'charge_exchange/major_radius/0',\n", " 'charge_exchange/t_i/.zarray',\n", " 'charge_exchange/t_i/.zattrs',\n", " 'charge_exchange/t_i/0.0',\n", " 'charge_exchange/time/.zarray',\n", " 'charge_exchange/time/.zattrs',\n", " 'charge_exchange/time/0',\n", " 'charge_exchange/v_i/.zarray',\n", " 'charge_exchange/v_i/.zattrs',\n", " 'charge_exchange/v_i/0.0',\n", " 'equilibrium/.zattrs',\n", " 'equilibrium/.zgroup',\n", " 'equilibrium/beta_normal/.zarray',\n", " 'equilibrium/beta_normal/.zattrs',\n", " 'equilibrium/beta_normal/0',\n", " 'equilibrium/beta_pol/.zarray',\n", " 'equilibrium/beta_pol/.zattrs',\n", " 'equilibrium/beta_pol/0',\n", " 'equilibrium/beta_tor/.zarray',\n", " 'equilibrium/beta_tor/.zattrs',\n", " 'equilibrium/beta_tor/0',\n", " 'equilibrium/bphi_rmag/.zarray',\n", " 'equilibrium/bphi_rmag/.zattrs',\n", " 'equilibrium/bphi_rmag/0',\n", " 'equilibrium/bvac_rmag/.zarray',\n", " 'equilibrium/bvac_rmag/.zattrs',\n", " 'equilibrium/bvac_rmag/0',\n", " 'equilibrium/da_rating/.zarray',\n", " 'equilibrium/da_rating/.zattrs',\n", " 'equilibrium/da_rating/0',\n", " 'equilibrium/elongation/.zarray',\n", " 'equilibrium/elongation/.zattrs',\n", " 'equilibrium/elongation/0',\n", " 'equilibrium/elongation_axis/.zarray',\n", " 'equilibrium/elongation_axis/.zattrs',\n", " 'equilibrium/elongation_axis/0',\n", " 'equilibrium/ip_rating/.zarray',\n", " 'equilibrium/ip_rating/.zattrs',\n", " 'equilibrium/ip_rating/0',\n", " 'equilibrium/j_tor/.zarray',\n", " 'equilibrium/j_tor/.zattrs',\n", " 'equilibrium/j_tor/0.0.0',\n", " 'equilibrium/j_tor/0.0.1',\n", " 'equilibrium/j_tor/0.1.0',\n", " 'equilibrium/j_tor/0.1.1',\n", " 'equilibrium/j_tor/1.0.0',\n", " 'equilibrium/j_tor/1.0.1',\n", " 'equilibrium/j_tor/1.1.0',\n", " 'equilibrium/j_tor/1.1.1',\n", " 'equilibrium/lcfs_r/.zarray',\n", " 'equilibrium/lcfs_r/.zattrs',\n", " 'equilibrium/lcfs_r/0.0',\n", " 'equilibrium/lcfs_z/.zarray',\n", " 'equilibrium/lcfs_z/.zattrs',\n", " 'equilibrium/lcfs_z/0.0',\n", " 'equilibrium/li/.zarray',\n", " 'equilibrium/li/.zattrs',\n", " 'equilibrium/li/0',\n", " 'equilibrium/magnetic_axis_r/.zarray',\n", " 'equilibrium/magnetic_axis_r/.zattrs',\n", " 'equilibrium/magnetic_axis_r/0',\n", " 'equilibrium/magnetic_axis_z/.zarray',\n", " 'equilibrium/magnetic_axis_z/.zattrs',\n", " 'equilibrium/magnetic_axis_z/0',\n", " 'equilibrium/major_radius/.zarray',\n", " 'equilibrium/major_radius/.zattrs',\n", " 'equilibrium/major_radius/0',\n", " 'equilibrium/minor_radius/.zarray',\n", " 'equilibrium/minor_radius/.zattrs',\n", " 'equilibrium/minor_radius/0',\n", " 'equilibrium/n_boundary_coords/.zarray',\n", " 'equilibrium/n_boundary_coords/.zattrs',\n", " 'equilibrium/n_boundary_coords/0',\n", " 'equilibrium/n_x_points_r/.zarray',\n", " 'equilibrium/n_x_points_r/.zattrs',\n", " 'equilibrium/n_x_points_r/0',\n", " 'equilibrium/n_x_points_z/.zarray',\n", " 'equilibrium/n_x_points_z/.zattrs',\n", " 'equilibrium/n_x_points_z/0',\n", " 'equilibrium/profile_r/.zarray',\n", " 'equilibrium/profile_r/.zattrs',\n", " 'equilibrium/profile_r/0',\n", " 'equilibrium/psi/.zarray',\n", " 'equilibrium/psi/.zattrs',\n", " 'equilibrium/psi/0.0.0',\n", " 'equilibrium/psi/0.0.1',\n", " 'equilibrium/psi/0.1.0',\n", " 'equilibrium/psi/0.1.1',\n", " 'equilibrium/psi/1.0.0',\n", " 'equilibrium/psi/1.0.1',\n", " 'equilibrium/psi/1.1.0',\n", " 'equilibrium/psi/1.1.1',\n", " 'equilibrium/q/.zarray',\n", " 'equilibrium/q/.zattrs',\n", " 'equilibrium/q/0.0',\n", " 'equilibrium/q100/.zarray',\n", " 'equilibrium/q100/.zattrs',\n", " 'equilibrium/q100/0',\n", " 'equilibrium/q90/.zarray',\n", " 'equilibrium/q90/.zattrs',\n", " 'equilibrium/q90/0',\n", " 'equilibrium/q95/.zarray',\n", " 'equilibrium/q95/.zattrs',\n", " 'equilibrium/q95/0',\n", " 'equilibrium/q_axis/.zarray',\n", " 'equilibrium/q_axis/.zattrs',\n", " 'equilibrium/q_axis/0',\n", " 'equilibrium/rpsi100_in/.zarray',\n", " 'equilibrium/rpsi100_in/.zattrs',\n", " 'equilibrium/rpsi100_in/0',\n", " 'equilibrium/rpsi100_out/.zarray',\n", " 'equilibrium/rpsi100_out/.zattrs',\n", " 'equilibrium/rpsi100_out/0',\n", " 'equilibrium/rpsi90_in/.zarray',\n", " 'equilibrium/rpsi90_in/.zattrs',\n", " 'equilibrium/rpsi90_in/0',\n", " 'equilibrium/rpsi90_out/.zarray',\n", " 'equilibrium/rpsi90_out/.zattrs',\n", " 'equilibrium/rpsi90_out/0',\n", " 'equilibrium/rpsi95_in/.zarray',\n", " 'equilibrium/rpsi95_in/.zattrs',\n", " 'equilibrium/rpsi95_in/0',\n", " 'equilibrium/rpsi95_out/.zarray',\n", " 'equilibrium/rpsi95_out/.zattrs',\n", " 'equilibrium/rpsi95_out/0',\n", " 'equilibrium/time/.zarray',\n", " 'equilibrium/time/.zattrs',\n", " 'equilibrium/time/0',\n", " 'equilibrium/triangularity_lower/.zarray',\n", " 'equilibrium/triangularity_lower/.zattrs',\n", " 'equilibrium/triangularity_lower/0',\n", " 'equilibrium/triangularity_upper/.zarray',\n", " 'equilibrium/triangularity_upper/.zattrs',\n", " 'equilibrium/triangularity_upper/0',\n", " 'equilibrium/vloop_dynamic/.zarray',\n", " 'equilibrium/vloop_dynamic/.zattrs',\n", " 'equilibrium/vloop_dynamic/0',\n", " 'equilibrium/vloop_static/.zarray',\n", " 'equilibrium/vloop_static/.zattrs',\n", " 'equilibrium/vloop_static/0',\n", " 'equilibrium/whmd/.zarray',\n", " 'equilibrium/whmd/.zattrs',\n", " 'equilibrium/whmd/0',\n", " 'equilibrium/x_point_r/.zarray',\n", " 'equilibrium/x_point_r/.zattrs',\n", " 'equilibrium/x_point_r/0.0',\n", " 'equilibrium/x_point_z/.zarray',\n", " 'equilibrium/x_point_z/.zattrs',\n", " 'equilibrium/x_point_z/0.0',\n", " 'equilibrium/z/.zarray',\n", " 'equilibrium/z/.zattrs',\n", " 'equilibrium/z/0',\n", " 'gas_injection/.zattrs',\n", " 'gas_injection/.zgroup',\n", " 'gas_injection/inboard_total/.zarray',\n", " 'gas_injection/inboard_total/.zattrs',\n", " 'gas_injection/inboard_total/0',\n", " 'gas_injection/outboard_total/.zarray',\n", " 'gas_injection/outboard_total/.zattrs',\n", " 'gas_injection/outboard_total/0',\n", " 'gas_injection/pressure/.zarray',\n", " 'gas_injection/pressure/.zattrs',\n", " 'gas_injection/pressure/0',\n", " 'gas_injection/target_valve_channel/.zarray',\n", " 'gas_injection/target_valve_channel/.zattrs',\n", " 'gas_injection/target_valve_channel/0',\n", " 'gas_injection/time/.zarray',\n", " 'gas_injection/time/.zattrs',\n", " 'gas_injection/time/0',\n", " 'gas_injection/total_injected/.zarray',\n", " 'gas_injection/total_injected/.zattrs',\n", " 'gas_injection/total_injected/0',\n", " 'gas_injection/valve_channel/.zarray',\n", " 'gas_injection/valve_channel/.zattrs',\n", " 'gas_injection/valve_channel/0',\n", " 'gas_injection/valve_target_voltage/.zarray',\n", " 'gas_injection/valve_target_voltage/.zattrs',\n", " 'gas_injection/valve_target_voltage/0.0',\n", " 'gas_injection/valve_voltage/.zarray',\n", " 'gas_injection/valve_voltage/.zattrs',\n", " 'gas_injection/valve_voltage/0.0',\n", " 'interferometer/.zattrs',\n", " 'interferometer/.zgroup',\n", " 'interferometer/n_e_line/.zarray',\n", " 'interferometer/n_e_line/.zattrs',\n", " 'interferometer/n_e_line/0',\n", " 'interferometer/time/.zarray',\n", " 'interferometer/time/.zattrs',\n", " 'interferometer/time/0',\n", " 'magnetics/.zattrs',\n", " 'magnetics/.zgroup',\n", " 'magnetics/b_field_pol_probe_cc_channel/.zarray',\n", " 'magnetics/b_field_pol_probe_cc_channel/.zattrs',\n", " 'magnetics/b_field_pol_probe_cc_channel/0',\n", " 'magnetics/b_field_pol_probe_cc_field/.zarray',\n", " 'magnetics/b_field_pol_probe_cc_field/.zattrs',\n", " 'magnetics/b_field_pol_probe_cc_field/0.0',\n", " 'magnetics/b_field_pol_probe_cc_field/0.1',\n", " 'magnetics/b_field_pol_probe_cc_field/0.2',\n", " 'magnetics/b_field_pol_probe_cc_field/0.3',\n", " 'magnetics/b_field_pol_probe_cc_field/1.0',\n", " 'magnetics/b_field_pol_probe_cc_field/1.1',\n", " 'magnetics/b_field_pol_probe_cc_field/1.2',\n", " 'magnetics/b_field_pol_probe_cc_field/1.3',\n", " 'magnetics/b_field_pol_probe_cc_field/2.0',\n", " 'magnetics/b_field_pol_probe_cc_field/2.1',\n", " 'magnetics/b_field_pol_probe_cc_field/2.2',\n", " 'magnetics/b_field_pol_probe_cc_field/2.3',\n", " 'magnetics/b_field_pol_probe_cc_field/3.0',\n", " 'magnetics/b_field_pol_probe_cc_field/3.1',\n", " 'magnetics/b_field_pol_probe_cc_field/3.2',\n", " 'magnetics/b_field_pol_probe_cc_field/3.3',\n", " 'magnetics/b_field_pol_probe_cc_field/4.0',\n", " 'magnetics/b_field_pol_probe_cc_field/4.1',\n", " 'magnetics/b_field_pol_probe_cc_field/4.2',\n", " 'magnetics/b_field_pol_probe_cc_field/4.3',\n", " 'magnetics/b_field_pol_probe_ccbv_channel/.zarray',\n", " 'magnetics/b_field_pol_probe_ccbv_channel/.zattrs',\n", " 'magnetics/b_field_pol_probe_ccbv_channel/0',\n", " 'magnetics/b_field_pol_probe_ccbv_field/.zarray',\n", " 'magnetics/b_field_pol_probe_ccbv_field/.zattrs',\n", " 'magnetics/b_field_pol_probe_ccbv_field/0.0',\n", " 'magnetics/b_field_pol_probe_ccbv_field/0.1',\n", " 'magnetics/b_field_pol_probe_ccbv_field/1.0',\n", " 'magnetics/b_field_pol_probe_ccbv_field/1.1',\n", " 'magnetics/b_field_pol_probe_obr_channel/.zarray',\n", " 'magnetics/b_field_pol_probe_obr_channel/.zattrs',\n", " 'magnetics/b_field_pol_probe_obr_channel/0',\n", " 'magnetics/b_field_pol_probe_obr_field/.zarray',\n", " 'magnetics/b_field_pol_probe_obr_field/.zattrs',\n", " 'magnetics/b_field_pol_probe_obr_field/0.0',\n", " 'magnetics/b_field_pol_probe_obr_field/1.0',\n", " 'magnetics/b_field_pol_probe_obv_channel/.zarray',\n", " 'magnetics/b_field_pol_probe_obv_channel/.zattrs',\n", " 'magnetics/b_field_pol_probe_obv_channel/0',\n", " 'magnetics/b_field_pol_probe_obv_field/.zarray',\n", " 'magnetics/b_field_pol_probe_obv_field/.zattrs',\n", " 'magnetics/b_field_pol_probe_obv_field/0.0',\n", " 'magnetics/b_field_pol_probe_obv_field/1.0',\n", " 'magnetics/b_field_pol_probe_omv_channel/.zarray',\n", " 'magnetics/b_field_pol_probe_omv_channel/.zattrs',\n", " 'magnetics/b_field_pol_probe_omv_channel/0',\n", " 'magnetics/b_field_pol_probe_omv_voltage/.zarray',\n", " 'magnetics/b_field_pol_probe_omv_voltage/.zattrs',\n", " 'magnetics/b_field_pol_probe_omv_voltage/0.0',\n", " 'magnetics/b_field_pol_probe_omv_voltage/0.1',\n", " 'magnetics/b_field_pol_probe_omv_voltage/0.2',\n", " 'magnetics/b_field_pol_probe_omv_voltage/0.3',\n", " 'magnetics/b_field_pol_probe_omv_voltage/1.0',\n", " 'magnetics/b_field_pol_probe_omv_voltage/1.1',\n", " 'magnetics/b_field_pol_probe_omv_voltage/1.2',\n", " 'magnetics/b_field_pol_probe_omv_voltage/1.3',\n", " 'magnetics/b_field_pol_probe_omv_voltage/2.0',\n", " 'magnetics/b_field_pol_probe_omv_voltage/2.1',\n", " 'magnetics/b_field_pol_probe_omv_voltage/2.2',\n", " 'magnetics/b_field_pol_probe_omv_voltage/2.3',\n", " 'magnetics/b_field_tor_probe_cc_channel/.zarray',\n", " 'magnetics/b_field_tor_probe_cc_channel/.zattrs',\n", " 'magnetics/b_field_tor_probe_cc_channel/0',\n", " 'magnetics/b_field_tor_probe_cc_field/.zarray',\n", " 'magnetics/b_field_tor_probe_cc_field/.zattrs',\n", " 'magnetics/b_field_tor_probe_cc_field/0.0',\n", " 'magnetics/b_field_tor_probe_cc_field/0.1',\n", " 'magnetics/b_field_tor_probe_cc_field/0.2',\n", " 'magnetics/b_field_tor_probe_cc_field/0.3',\n", " 'magnetics/b_field_tor_probe_cc_field/1.0',\n", " 'magnetics/b_field_tor_probe_cc_field/1.1',\n", " 'magnetics/b_field_tor_probe_cc_field/1.2',\n", " 'magnetics/b_field_tor_probe_cc_field/1.3',\n", " 'magnetics/b_field_tor_probe_cc_field/2.0',\n", " 'magnetics/b_field_tor_probe_cc_field/2.1',\n", " 'magnetics/b_field_tor_probe_cc_field/2.2',\n", " 'magnetics/b_field_tor_probe_cc_field/2.3',\n", " 'magnetics/b_field_tor_probe_saddle_field/.zarray',\n", " 'magnetics/b_field_tor_probe_saddle_field/.zattrs',\n", " 'magnetics/b_field_tor_probe_saddle_field/0.0',\n", " 'magnetics/b_field_tor_probe_saddle_field/0.1',\n", " 'magnetics/b_field_tor_probe_saddle_field/1.0',\n", " 'magnetics/b_field_tor_probe_saddle_field/1.1',\n", " 'magnetics/b_field_tor_probe_saddle_field/2.0',\n", " 'magnetics/b_field_tor_probe_saddle_field/2.1',\n", " 'magnetics/b_field_tor_probe_saddle_field/3.0',\n", " 'magnetics/b_field_tor_probe_saddle_field/3.1',\n", " 'magnetics/b_field_tor_probe_saddle_field_channel/.zarray',\n", " 'magnetics/b_field_tor_probe_saddle_field_channel/.zattrs',\n", " 'magnetics/b_field_tor_probe_saddle_field_channel/0',\n", " 'magnetics/b_field_tor_probe_saddle_voltage/.zarray',\n", " 'magnetics/b_field_tor_probe_saddle_voltage/.zattrs',\n", " 'magnetics/b_field_tor_probe_saddle_voltage/0.0',\n", " 'magnetics/b_field_tor_probe_saddle_voltage/0.1',\n", " 'magnetics/b_field_tor_probe_saddle_voltage/1.0',\n", " 'magnetics/b_field_tor_probe_saddle_voltage/1.1',\n", " 'magnetics/b_field_tor_probe_saddle_voltage/2.0',\n", " 'magnetics/b_field_tor_probe_saddle_voltage/2.1',\n", " 'magnetics/b_field_tor_probe_saddle_voltage/3.0',\n", " 'magnetics/b_field_tor_probe_saddle_voltage/3.1',\n", " 'magnetics/b_field_tor_probe_saddle_voltage_channel/.zarray',\n", " 'magnetics/b_field_tor_probe_saddle_voltage_channel/.zattrs',\n", " 'magnetics/b_field_tor_probe_saddle_voltage_channel/0',\n", " 'magnetics/flux_loop_channel/.zarray',\n", " 'magnetics/flux_loop_channel/.zattrs',\n", " 'magnetics/flux_loop_channel/0',\n", " 'magnetics/flux_loop_flux/.zarray',\n", " 'magnetics/flux_loop_flux/.zattrs',\n", " 'magnetics/flux_loop_flux/0.0',\n", " 'magnetics/flux_loop_flux/1.0',\n", " 'magnetics/ip/.zarray',\n", " 'magnetics/ip/.zattrs',\n", " 'magnetics/ip/0',\n", " 'magnetics/time/.zarray',\n", " 'magnetics/time/.zattrs',\n", " 'magnetics/time/0',\n", " 'magnetics/time_mirnov/.zarray',\n", " 'magnetics/time_mirnov/.zattrs',\n", " 'magnetics/time_mirnov/0',\n", " 'magnetics/time_mirnov/1',\n", " 'magnetics/time_mirnov/2',\n", " 'magnetics/time_mirnov/3',\n", " 'magnetics/time_mirnov/4',\n", " 'magnetics/time_mirnov/5',\n", " 'magnetics/time_mirnov/6',\n", " 'magnetics/time_mirnov/7',\n", " 'magnetics/time_saddle/.zarray',\n", " 'magnetics/time_saddle/.zattrs',\n", " 'magnetics/time_saddle/0',\n", " 'pf_active/.zattrs',\n", " 'pf_active/.zgroup',\n", " 'pf_active/coil_current/.zarray',\n", " 'pf_active/coil_current/.zattrs',\n", " 'pf_active/coil_current/0.0',\n", " 'pf_active/coil_voltage/.zarray',\n", " 'pf_active/coil_voltage/.zattrs',\n", " 'pf_active/coil_voltage/0.0',\n", " 'pf_active/current_channel/.zarray',\n", " 'pf_active/current_channel/.zattrs',\n", " 'pf_active/current_channel/0',\n", " 'pf_active/solenoid_current/.zarray',\n", " 'pf_active/solenoid_current/.zattrs',\n", " 'pf_active/solenoid_current/0',\n", " 'pf_active/time/.zarray',\n", " 'pf_active/time/.zattrs',\n", " 'pf_active/time/0',\n", " 'pf_active/voltage_channel/.zarray',\n", " 'pf_active/voltage_channel/.zattrs',\n", " 'pf_active/voltage_channel/0',\n", " 'pulse_schedule/.zattrs',\n", " 'pulse_schedule/.zgroup',\n", " 'pulse_schedule/i_plasma/.zarray',\n", " 'pulse_schedule/i_plasma/.zattrs',\n", " 'pulse_schedule/i_plasma/0',\n", " 'pulse_schedule/n_e_line/.zarray',\n", " 'pulse_schedule/n_e_line/.zattrs',\n", " 'pulse_schedule/n_e_line/0',\n", " 'pulse_schedule/time/.zarray',\n", " 'pulse_schedule/time/.zattrs',\n", " 'pulse_schedule/time/0',\n", " 'soft_x_rays/.zattrs',\n", " 'soft_x_rays/.zgroup',\n", " 'soft_x_rays/horizontal_cam_lower/.zarray',\n", " 'soft_x_rays/horizontal_cam_lower/.zattrs',\n", " 'soft_x_rays/horizontal_cam_lower/0.0',\n", " 'soft_x_rays/horizontal_cam_lower/0.1',\n", " 'soft_x_rays/horizontal_cam_lower/0.2',\n", " 'soft_x_rays/horizontal_cam_lower/0.3',\n", " 'soft_x_rays/horizontal_cam_lower/0.4',\n", " 'soft_x_rays/horizontal_cam_lower/0.5',\n", " 'soft_x_rays/horizontal_cam_lower/0.6',\n", " 'soft_x_rays/horizontal_cam_lower/0.7',\n", " 'soft_x_rays/horizontal_cam_lower/1.0',\n", " 'soft_x_rays/horizontal_cam_lower/1.1',\n", " 'soft_x_rays/horizontal_cam_lower/1.2',\n", " 'soft_x_rays/horizontal_cam_lower/1.3',\n", " 'soft_x_rays/horizontal_cam_lower/1.4',\n", " 'soft_x_rays/horizontal_cam_lower/1.5',\n", " 'soft_x_rays/horizontal_cam_lower/1.6',\n", " 'soft_x_rays/horizontal_cam_lower/1.7',\n", " 'soft_x_rays/horizontal_cam_lower/2.0',\n", " 'soft_x_rays/horizontal_cam_lower/2.1',\n", " 'soft_x_rays/horizontal_cam_lower/2.2',\n", " 'soft_x_rays/horizontal_cam_lower/2.3',\n", " 'soft_x_rays/horizontal_cam_lower/2.4',\n", " 'soft_x_rays/horizontal_cam_lower/2.5',\n", " 'soft_x_rays/horizontal_cam_lower/2.6',\n", " 'soft_x_rays/horizontal_cam_lower/2.7',\n", " 'soft_x_rays/horizontal_cam_lower/3.0',\n", " 'soft_x_rays/horizontal_cam_lower/3.1',\n", " 'soft_x_rays/horizontal_cam_lower/3.2',\n", " 'soft_x_rays/horizontal_cam_lower/3.3',\n", " 'soft_x_rays/horizontal_cam_lower/3.4',\n", " 'soft_x_rays/horizontal_cam_lower/3.5',\n", " 'soft_x_rays/horizontal_cam_lower/3.6',\n", " 'soft_x_rays/horizontal_cam_lower/3.7',\n", " 'soft_x_rays/horizontal_cam_lower/4.0',\n", " 'soft_x_rays/horizontal_cam_lower/4.1',\n", " 'soft_x_rays/horizontal_cam_lower/4.2',\n", " 'soft_x_rays/horizontal_cam_lower/4.3',\n", " 'soft_x_rays/horizontal_cam_lower/4.4',\n", " 'soft_x_rays/horizontal_cam_lower/4.5',\n", " 'soft_x_rays/horizontal_cam_lower/4.6',\n", " 'soft_x_rays/horizontal_cam_lower/4.7',\n", " 'soft_x_rays/horizontal_cam_lower/5.0',\n", " 'soft_x_rays/horizontal_cam_lower/5.1',\n", " 'soft_x_rays/horizontal_cam_lower/5.2',\n", " 'soft_x_rays/horizontal_cam_lower/5.3',\n", " 'soft_x_rays/horizontal_cam_lower/5.4',\n", " 'soft_x_rays/horizontal_cam_lower/5.5',\n", " 'soft_x_rays/horizontal_cam_lower/5.6',\n", " 'soft_x_rays/horizontal_cam_lower/5.7',\n", " 'soft_x_rays/horizontal_cam_lower_channel/.zarray',\n", " 'soft_x_rays/horizontal_cam_lower_channel/.zattrs',\n", " 'soft_x_rays/horizontal_cam_lower_channel/0',\n", " 'soft_x_rays/horizontal_cam_upper/.zarray',\n", " 'soft_x_rays/horizontal_cam_upper/.zattrs',\n", " 'soft_x_rays/horizontal_cam_upper/0.0',\n", " 'soft_x_rays/horizontal_cam_upper/0.1',\n", " 'soft_x_rays/horizontal_cam_upper/0.2',\n", " 'soft_x_rays/horizontal_cam_upper/0.3',\n", " 'soft_x_rays/horizontal_cam_upper/0.4',\n", " 'soft_x_rays/horizontal_cam_upper/0.5',\n", " 'soft_x_rays/horizontal_cam_upper/0.6',\n", " 'soft_x_rays/horizontal_cam_upper/0.7',\n", " 'soft_x_rays/horizontal_cam_upper/1.0',\n", " 'soft_x_rays/horizontal_cam_upper/1.1',\n", " 'soft_x_rays/horizontal_cam_upper/1.2',\n", " 'soft_x_rays/horizontal_cam_upper/1.3',\n", " 'soft_x_rays/horizontal_cam_upper/1.4',\n", " 'soft_x_rays/horizontal_cam_upper/1.5',\n", " 'soft_x_rays/horizontal_cam_upper/1.6',\n", " 'soft_x_rays/horizontal_cam_upper/1.7',\n", " 'soft_x_rays/horizontal_cam_upper/2.0',\n", " 'soft_x_rays/horizontal_cam_upper/2.1',\n", " 'soft_x_rays/horizontal_cam_upper/2.2',\n", " 'soft_x_rays/horizontal_cam_upper/2.3',\n", " 'soft_x_rays/horizontal_cam_upper/2.4',\n", " 'soft_x_rays/horizontal_cam_upper/2.5',\n", " 'soft_x_rays/horizontal_cam_upper/2.6',\n", " 'soft_x_rays/horizontal_cam_upper/2.7',\n", " 'soft_x_rays/horizontal_cam_upper/3.0',\n", " 'soft_x_rays/horizontal_cam_upper/3.1',\n", " 'soft_x_rays/horizontal_cam_upper/3.2',\n", " 'soft_x_rays/horizontal_cam_upper/3.3',\n", " 'soft_x_rays/horizontal_cam_upper/3.4',\n", " 'soft_x_rays/horizontal_cam_upper/3.5',\n", " 'soft_x_rays/horizontal_cam_upper/3.6',\n", " 'soft_x_rays/horizontal_cam_upper/3.7',\n", " 'soft_x_rays/horizontal_cam_upper/4.0',\n", " 'soft_x_rays/horizontal_cam_upper/4.1',\n", " 'soft_x_rays/horizontal_cam_upper/4.2',\n", " 'soft_x_rays/horizontal_cam_upper/4.3',\n", " 'soft_x_rays/horizontal_cam_upper/4.4',\n", " 'soft_x_rays/horizontal_cam_upper/4.5',\n", " 'soft_x_rays/horizontal_cam_upper/4.6',\n", " 'soft_x_rays/horizontal_cam_upper/4.7',\n", " 'soft_x_rays/horizontal_cam_upper/5.0',\n", " 'soft_x_rays/horizontal_cam_upper/5.1',\n", " 'soft_x_rays/horizontal_cam_upper/5.2',\n", " 'soft_x_rays/horizontal_cam_upper/5.3',\n", " 'soft_x_rays/horizontal_cam_upper/5.4',\n", " 'soft_x_rays/horizontal_cam_upper/5.5',\n", " 'soft_x_rays/horizontal_cam_upper/5.6',\n", " 'soft_x_rays/horizontal_cam_upper/5.7',\n", " 'soft_x_rays/horizontal_cam_upper_channel/.zarray',\n", " 'soft_x_rays/horizontal_cam_upper_channel/.zattrs',\n", " 'soft_x_rays/horizontal_cam_upper_channel/0',\n", " 'soft_x_rays/tangential_cam/.zarray',\n", " 'soft_x_rays/tangential_cam/.zattrs',\n", " 'soft_x_rays/tangential_cam/0.0',\n", " 'soft_x_rays/tangential_cam/0.1',\n", " 'soft_x_rays/tangential_cam/0.2',\n", " 'soft_x_rays/tangential_cam/0.3',\n", " 'soft_x_rays/tangential_cam/0.4',\n", " 'soft_x_rays/tangential_cam/0.5',\n", " 'soft_x_rays/tangential_cam/0.6',\n", " 'soft_x_rays/tangential_cam/0.7',\n", " 'soft_x_rays/tangential_cam/1.0',\n", " 'soft_x_rays/tangential_cam/1.1',\n", " 'soft_x_rays/tangential_cam/1.2',\n", " 'soft_x_rays/tangential_cam/1.3',\n", " 'soft_x_rays/tangential_cam/1.4',\n", " 'soft_x_rays/tangential_cam/1.5',\n", " 'soft_x_rays/tangential_cam/1.6',\n", " 'soft_x_rays/tangential_cam/1.7',\n", " 'soft_x_rays/tangential_cam/2.0',\n", " 'soft_x_rays/tangential_cam/2.1',\n", " 'soft_x_rays/tangential_cam/2.2',\n", " 'soft_x_rays/tangential_cam/2.3',\n", " 'soft_x_rays/tangential_cam/2.4',\n", " 'soft_x_rays/tangential_cam/2.5',\n", " 'soft_x_rays/tangential_cam/2.6',\n", " 'soft_x_rays/tangential_cam/2.7',\n", " 'soft_x_rays/tangential_cam/3.0',\n", " 'soft_x_rays/tangential_cam/3.1',\n", " 'soft_x_rays/tangential_cam/3.2',\n", " 'soft_x_rays/tangential_cam/3.3',\n", " 'soft_x_rays/tangential_cam/3.4',\n", " 'soft_x_rays/tangential_cam/3.5',\n", " 'soft_x_rays/tangential_cam/3.6',\n", " 'soft_x_rays/tangential_cam/3.7',\n", " 'soft_x_rays/tangential_cam/4.0',\n", " 'soft_x_rays/tangential_cam/4.1',\n", " 'soft_x_rays/tangential_cam/4.2',\n", " 'soft_x_rays/tangential_cam/4.3',\n", " 'soft_x_rays/tangential_cam/4.4',\n", " 'soft_x_rays/tangential_cam/4.5',\n", " 'soft_x_rays/tangential_cam/4.6',\n", " 'soft_x_rays/tangential_cam/4.7',\n", " 'soft_x_rays/tangential_cam/5.0',\n", " 'soft_x_rays/tangential_cam/5.1',\n", " 'soft_x_rays/tangential_cam/5.2',\n", " 'soft_x_rays/tangential_cam/5.3',\n", " 'soft_x_rays/tangential_cam/5.4',\n", " 'soft_x_rays/tangential_cam/5.5',\n", " 'soft_x_rays/tangential_cam/5.6',\n", " 'soft_x_rays/tangential_cam/5.7',\n", " 'soft_x_rays/tangential_cam_channel/.zarray',\n", " 'soft_x_rays/tangential_cam_channel/.zattrs',\n", " 'soft_x_rays/tangential_cam_channel/0',\n", " 'soft_x_rays/time/.zarray',\n", " 'soft_x_rays/time/.zattrs',\n", " 'soft_x_rays/time/0',\n", " 'soft_x_rays/time/1',\n", " 'soft_x_rays/time/2',\n", " 'soft_x_rays/time/3',\n", " 'soft_x_rays/time/4',\n", " 'soft_x_rays/time/5',\n", " 'soft_x_rays/time/6',\n", " 'soft_x_rays/time/7',\n", " 'spectrometer_visible/.zattrs',\n", " 'spectrometer_visible/.zgroup',\n", " 'spectrometer_visible/dalpha_channel/.zarray',\n", " 'spectrometer_visible/dalpha_channel/.zattrs',\n", " 'spectrometer_visible/dalpha_channel/0',\n", " 'spectrometer_visible/density_gradient/.zarray',\n", " 'spectrometer_visible/density_gradient/.zattrs',\n", " 'spectrometer_visible/density_gradient/0',\n", " 'spectrometer_visible/filter_spectrometer_dalpha_voltage/.zarray',\n", " 'spectrometer_visible/filter_spectrometer_dalpha_voltage/.zattrs',\n", " 'spectrometer_visible/filter_spectrometer_dalpha_voltage/0.0',\n", " 'spectrometer_visible/filter_spectrometer_dalpha_voltage/0.1',\n", " 'spectrometer_visible/filter_spectrometer_dalpha_voltage/1.0',\n", " 'spectrometer_visible/filter_spectrometer_dalpha_voltage/1.1',\n", " 'spectrometer_visible/time/.zarray',\n", " 'spectrometer_visible/time/.zattrs',\n", " 'spectrometer_visible/time/0',\n", " 'summary/.zattrs',\n", " 'summary/.zgroup',\n", " 'summary/greenwald_density/.zarray',\n", " 'summary/greenwald_density/.zattrs',\n", " 'summary/greenwald_density/0',\n", " 'summary/ip/.zarray',\n", " 'summary/ip/.zattrs',\n", " 'summary/ip/0',\n", " 'summary/line_average_n_e/.zarray',\n", " 'summary/line_average_n_e/.zattrs',\n", " 'summary/line_average_n_e/0',\n", " 'summary/neutron_rates_total/.zarray',\n", " 'summary/neutron_rates_total/.zattrs',\n", " 'summary/neutron_rates_total/0',\n", " 'summary/power_nbi/.zarray',\n", " 'summary/power_nbi/.zattrs',\n", " 'summary/power_nbi/0',\n", " 'summary/power_radiated/.zarray',\n", " 'summary/power_radiated/.zattrs',\n", " 'summary/power_radiated/0',\n", " 'summary/time/.zarray',\n", " 'summary/time/.zattrs',\n", " 'summary/time/0',\n", " 'thomson_scattering/.zattrs',\n", " 'thomson_scattering/.zgroup',\n", " 'thomson_scattering/major_radius/.zarray',\n", " 'thomson_scattering/major_radius/.zattrs',\n", " 'thomson_scattering/major_radius/0',\n", " 'thomson_scattering/n_e/.zarray',\n", " 'thomson_scattering/n_e/.zattrs',\n", " 'thomson_scattering/n_e/0.0',\n", " 'thomson_scattering/n_e_core/.zarray',\n", " 'thomson_scattering/n_e_core/.zattrs',\n", " 'thomson_scattering/n_e_core/0',\n", " 'thomson_scattering/p_e/.zarray',\n", " 'thomson_scattering/p_e/.zattrs',\n", " 'thomson_scattering/p_e/0.0',\n", " 'thomson_scattering/t_e/.zarray',\n", " 'thomson_scattering/t_e/.zattrs',\n", " 'thomson_scattering/t_e/0.0',\n", " 'thomson_scattering/t_e_core/.zarray',\n", " 'thomson_scattering/t_e_core/.zattrs',\n", " 'thomson_scattering/t_e_core/0',\n", " 'thomson_scattering/time/.zarray',\n", " 'thomson_scattering/time/.zattrs',\n", " 'thomson_scattering/time/0']" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "list(store.keys())" ] }, { "cell_type": "code", "execution_count": 15, "id": "31bc54a2", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " Size: 17kB\n", "dask.array\n", "Coordinates:\n", " * time (time) float64 17kB -0.099 -0.09875 -0.0985 ... 0.4227 0.423 0.4232\n", "Attributes:\n", " description: \n", " imas: summary.global_quantities.ip\n", " label: Plasma Current\n", " name: ip\n", " uda_name: AMC_PLASMA CURRENT\n", " units: A\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "group = xr.open_zarr(store, group='summary')\n", "# open zarr group directly from S3\n", "plasma_current = group[\"ip\"]\n", "# amc = xr.open_zarr(FS.get_mapper(f\"s3://mast/level1/shots/{shot_id}.zarr\" + '/amc'), chunks={})\n", "# plasma_current = amc['plasma_current']\n", "print(plasma_current)\n", "\n", "# time = plasma_current['time'].values\n", "# data = plasma_current.values\n", "\n", "plt.figure(figsize=(8, 4))\n", "# plt.plot(time, data)\n", "group[\"ip\"].plot()\n", "plt.xlabel(\"time [s]\")\n", "plt.ylabel(\"plasma_current [kA]\")\n", "plt.title(\"Plasma Current vs Time\")\n", "plt.grid(True)\n", "plt.tight_layout()\n", "plt.show()" ] } ], "metadata": { "kernelspec": { "display_name": "demo", "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.12.8" } }, "nbformat": 4, "nbformat_minor": 5 }