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.