Output formats
WarpX can write diagnostics data either in
plotfile format or in
Plotfiles are AMReX’ native data format, while openPMD is implemented in popular community formats such as ADIOS and HDF5.
This section describes some of the tools available to visualize the data.
Asynchronous IO
When using the AMReX plotfile format, users can set the amrex.async_out=1
option to perform the IO in a non-blocking fashion, meaning that the simulation
will continue to run while an IO thread controls writing the data to disk.
This can significantly reduce the overall time spent in IO. This is primarily intended for
large runs on supercomputers (e.g. at OLCF or NERSC); depending on the MPI
implementation you are using, you may not see a benefit on your workstation.
When writing plotfiles, each rank will write to a separate file, up to some maximum number
(by default, 64). This maximum can be adjusted using the amrex.async_out_nfiles
inputs
parameter. To use asynchronous IO with than amrex.async_out_nfiles
MPI ranks, WarpX
WarpX must be configured with -DWarpX_MPI_THREAD_MULTIPLE=ON
.
Please see the building instructions for details.
In Situ Capabilities
WarpX includes so-called reduced diagnostics. Reduced diagnostics create observables on-the-fly, such as energy histograms or particle beam statistics and are easily visualized in post-processing.
In addition, WarpX also has vn-situ visualization capabilities (i.e. visualizing the data directly from the simulation, without dumping data files to disk).
If you like the 3D rendering of laser wakefield acceleration
on the WarpX documentation front page (which is
also the avatar of the ECP-WarpX organization), you can find the serial
analysis script video_yt.py
as well
as a parallel analysis script
video_yt.py
used to make a similar
rendering for a beam-driven wakefield simulation, running parallel.
Staggering in Data Output
Warning: currently, quantities in the output file for iteration n
are not all defined at the same physical time due to the staggering in time in WarpX.
The table below provides the physical time at which each quantity in the output file is written, in units of time step, for time step n
.
quantity |
staggering |
|
---|---|---|
E |
n |
n |
B |
n |
n |
j |
n-1/2 |
n-1/2 |
rho |
n |
n |
position |
n |
n |
momentum |
n-1/2 |
n-1/2 |