Output parameters

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\) component

  • q_zeta - beam trajectory, \(\zeta\) component

  • q_Z - beam trajectory, \(Z\) component

  • K_R - \(R\) component of the wave vector

  • K_Z - \(Z\) component of the wave vector

  • Psi_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")