Forge Analytics

Executing ParaView in Batch

Instructions for running ParaView scripts from the command line.

Overview

This article is intended to serve as an overview to batch process execution for ParaView (or running a ParaView script).

For installation instructions, please see the guide for CPU-based rendering or GPU-based rendering.

What is a batch process?

A batch process is a series of one or more “jobs” that are executed in succession on a computer without any interaction from the end-user.

The user, or an external system, is responsible for starting the batch process, and it then runs to completion on its own.

Why is batch execution useful?

Scientists and engineers spend a tremendous amount of time organizing data. Much of this work can be automated.

For a given test or experiment, it’s likely that the bulk of the time spent inside the ParaView GUI would be better spent on reviewing and analyzing results that have been automatically post-processed, especially where post-processing tasks are identical between experiments.

Then, users have additional free time to perform non-standard interrogations of experimental data.

Simply put, scientific workflow automation affords additional time to focus on critical thinking as opposed to rote task execution.

Running ParaView as a Batch Process

ParaView has 2 executables from which batch processes can be executed: pvbatch and pvpython. They are largely the same, and for simple script execution they are virtually interchangeable. The differences are highlighted below.

Using pvpython

pvpython is the Python interface to ParaView. It can be run interactively, inside the interpreter, or can be used to execute Python scripts.

To run commands inside the interpreter, simply run:

pvpython

Alternatively, python scripts can be executed with:

pvpython /path/to/script.py

Using pvbatch

pvbatch is an MPI-enabled (if ParaView was compiled with MPI support) batch application for ParaView, and the primary execution code for batch processes. It is only available in batch mode (non-interactive). Outside of these characteristics, it is the same as pvpython.

To run a script with pvbatch, execute it in the following format:

pvbatch /path/to/script.py

Alternatively, to leverage the MPI capabilities of pvbatch for large data sets, you can use:

mpiexec -n N pvbatch /path/to/script.py

where N is your MPI process count.

Executable Scripts

Often times, you’ll want to create a simple executable to define additional characteristics of the execution of your script.

Below is an example where we’ll execute a Python script with pvbatch, passing all command-line arguments to the script, and logging the output to a file.

#!/bin/bash
pvbatch=/opt/paraview-5.4.1/bin/pvbatch
script_path=/full/path/to/script.py
log_path=/path/to/logging/output.log

$pvbatch $script_path "$@" >> $log_path 2>&1

Then, ensure the script has execution permissions:

chmod +x /path/to/bash/script

To run the script, simple use:

/path/to/bash/script

Have a Question?

Contact Us