25.6 Remote model execution with PEcAn
The workhorse of remote model execution is the PEcAn.workflow::start_model_runs function, which distributes execution of each run in a list of runs (e.g. multiple runs in an ensemble) to the local machine or a remote based on the configuration in the PEcAn settings.
Broadly, there are three major types of model execution:
- Serialized (
PEcAn.remote::start_serial) – This runs models one at a time, directly on the local machine or remote (i.e. same as calling the executables one at a time for each run). - Via a queue system, (
PEcAn.remote::start_qsub) – This uses a queue management system, such as SGE (e.g.qsub,qstat) found on the BU SCC machines, to submit jobs. For computationally intensive tasks, this is the recommended way to go. - Via a model launcher script (
PEcAn.remote::setup_modellauncher) – This is a highly customizable approach where task submission is controlled by a user-provided script (launcher.sh).