Output parameters#
beam_me_up() returns a datatree instance which contains the
simulation inputs under inputs, the immediate results under
solver_output, and some further processed results under
analysis.
Datatrees are collections of xarray Datasets, which themselves
are collections of N-dimensional variables with labelled coordinates.
See beam_me_up() for a detailed
description of input parameters.
All the outputs are in cylindrical coordinates unless otherwise stated
(Cartesian or with the lower case x or y).
The solver_output group in the output datatree contains:
q_R- beam trajectory, \(R\) componentq_zeta- beam trajectory, \(\zeta\) componentq_Z- beam trajectory, \(Z\) componentK_R- \(R\) component of the wave vectorK_Z- \(Z\) component of the wave vectorPsi_3D- wave tensor
These variables are all functions of the beam parameter \(\tau\).
The analysis group in the output datatree contains lots of derived
parameters and quantities. Some of these are:
Psi_xx- \(xx\) component of \(\Psi_w\)Psi_xy- \(xy\) component of \(\Psi_w\)Psi_yy- \(yy\) component of \(\Psi_w\)
Output files#
Data is saved to netCDF files using xarray and the h5netcdf
engine. This allows us to easily save things like \(\Psi\) which
is complex. At the time of writing (2023), h5netcdf writes complex
numbers using a method which is incompatible which current releases of
netCDF (although this has been fixed and should be available in the
next netCDF release). For this reason, the default filename is
scotty_output.h5.
The best way to read these files with `open_datatree`_, specifying the
h5netcdf engine:
import xarray
dt = xarray.open_datatree("scotty_output.h5", engine="h5netcdf")