9.11 Unit Test

The IO unit test is provided to test IO performance on various platforms with the different FLASH IO implementations and parallel libraries.
FLASH3 Transition: The IO unit test replaces the simulation setup io_benchmark in FLASH2.

The unitTest is setup like any other FLASH4 simulation. It can be run with any IO implementation as long as the correct Grid implementation is included. This unitTest writes a checkpoint file, a plotfile, and if particles are included, a particle file. Particles IO can be tested simply by including particles in the simulation. Variables needed for particles should be uncommented in the Config file.

Example setups:

 

#setup for PARAMESH Grid and serial HDF5 io
./setup unitTest/IO -auto


#setup for PARAMESH Grid with parallel HDF5 IO (see shortcuts docs for explanation)
./setup unitTest/IO -auto +parallelIO     (same as)
./setup unitTest/IO -auto -unit=IO/IOMain/hdf5/parallel/PM


#setup for Uniform Grid with serial HDF5 IO, 3d problem, increasing default number of zones
./setup unitTest/IO -3d -auto +ug -nxb=16 -nyb=16 -nzb=16  (same as)
./setup unitTest/IO -3d -auto -unit=Grid/GridMain/UG -nxb=16 -nyb=16 -nzb=16


#setup for PM3 and parallel netCDF, with particles
./setup unitTest/IO -auto -unit=Particles +pnetcdf


#setup for UG and parallel netCDF
./setup unitTest/IO -auto +pnetcdf +ug

Run the test like any other FLASH simulation:  

mpirun -np numProcs flash3

There are a few things to keep in mind when working with the IO unit test: