# Reading Output¶

XGC outputs ADIOS2 files (*.bp), which can be read by XGC itself, e.g., for restarting or analyzed with C/C++/Fortran/Python/Matlab.

In a terminal, users can quickly check the contents of variables written inside a ADIOS2 file with bpls utility. An example output is as follows:

$bpls -lva xgc.mesh.bp File info: of variables: 23 of attributes: 7 statistics: Min / Max string /XP_CLASS attr = "Mesh" string /cell_set[0]/cell_name attr = "Tri" int32_t /cell_set[0]/ncells attr = 2762126 int32_t /cell_set[0]/node_connect_list {2762126, 3} = 0 / 1383674 int32_t /cell_set[0]/nodes_per_elem attr = 3 double /coordinates/values {1383675, 2} = -4.5643 / 8.3938 int32_t /ncell_sets attr = 1 int32_t /nnodes attr = 1383675 int32_t /nspace attr = 2 double epsilon {400} = 0 / 0.361958 int32_t grid_nwall scalar = 5222 int32_t grid_wall_nodes {5222} = 1375857 / 1381078 double mapping {2762126, 3, 2} = -51864.7 / 85140.1 int32_t n_geo scalar = 400 int32_t n_n scalar = 1383675 int32_t n_t scalar = 2762126 int32_t nd_connect_list {2762126, 3} = 0 / 1383674 int32_t nextnode {1383675} = 0 / 1383674 double node_vol {1383675} = 1.677e-08 / 0.00252515 double node_vol_ff0 {1383675} = 9.97916e-09 / 0.00126423 double node_vol_ff1 {1383675} = 7.83344e-09 / 0.00126383 double node_vol_nearest {1383675} = 1.75853e-08 / 0.00252601 double one_per_dx {2, 1383675} = 0.774202 / 1.71111 double psi {1383675} = 0 / 11.2365 double qsafety {400} = 1.13299 / 15.025 double rmaj {400} = 6.11042 / 6.55989 double rmin {400} = 0 / 2.21546 double rz {1383675, 2} = -4.5643 / 8.3938 double tr_area {2762126} = 1.2808e-08 / 0.000922785 double trapped {400} = 0.210179 / 0.644313  To run bpls, ADIOS2’s bin directory should be in PATH env. Most systems (Summit, Cori, Theta) have installed ADIOS2 by default and users can use by module command: $ module load adios2


For more details, please refer to Adios2 user manual.