&savelist
        itsave(1,6)     = 0
        dtsave(6)       = 0.1d0
 
        nshells         = 2
        shellcoord(1)   = 1.0d0
        shellcoord(2)   = 50.0d0
 
        nxShell2        = 256
        nxShell3        = 256
/
By default, BHAC will output these to *.vtu files that can directly be read into Paraview. You can however select ascii output controlled via shell_type in the filelist:
 &filelist
        shell_type      = 'vtu' | 'csv'
/
The output filename is composed of the direction and offset values. For example, the first shell output name reads filenameout_r+0.100D+01_nXXXX.[vtu|csv].
 &savelist
        itsave(1,6)=0
        nshells         = 2
        shellcoord(1)   = 1.0d0
        shellcoord(2)   = 50.0d0
 
        nxShell2        = 256
        nxShell3        = 256
/
The stoplist should look like the following,
 &stoplist
        itreset=.true.
        itmax=0
/
where we reset the iteration counter (so that itsave(1,6)=0 will output shell data) and stop the code immediately after the IO (itmax=0).  
The code can then be started with
./bhac -restart 10 -i shells.par -shell 10 -if output/datawhich will take the output output/data0010.dat (-restart 10, -if output/data) to create new shells with index 10 (-shell 10). The par-file is the newly created shells.par (-i shells.par) so that the default used to run the code can be left untouched. It is a simple exercise in shell scripting to run along all output-files in one go. For example with the BASH:
for i in {0..10}; do ./bhac -restart $i -i shells.par -shell $i -if output/data; done
use mod_shell call init_gridvars(...) call alloc_shell(...) call fill_shell(...) ... do something with the shell data ... call dealloc_shell(...) call finish_gridvars(...)Though take care: the full shell data is communicated only to rank 0.