Scans and executors#
A scan runs one simulation per point of a grid of parameters, and an executor decides where and how those points run. The scan manual works through a pressure–energy example and states the retention, seed and serialisation rules; the modules involved are:
solprop.driver.scan:Scan(ordered variables and their global points),ScanPointandrun_scan;solprop.driver.executors: the execution policies —Local, a spawned processPool, a lockstepBatch, a durableQueueandSlurm;solprop.processing.scans: the reductions a worker evaluates for each point (energy in a band, a spectrum, mode energies, a custom reduction) and the reader of a collected scan (open,ScanOutput);solprop.output.scan: the scan file, into which the controller commits each completed point;
Backend and storage interfaces below are mainly for contributors extending an executor:
solprop.output.scan_artifacts: the validated per-point results a durable queue stores;solprop.driver.executors.queue: collecting a queue’s results, safely repeatable;solprop.driver.executors.slurm: writing and submitting a Slurm array script;solprop.driver.batch: grouping compatible points into a batch and splitting its output back into one run per point;solprop.driver.executors.batch: the controls of a fixed-schedule batch;solprop.backends.batch: the backend side of a batch, in which every member takes the same fixed steps and is observed on its own.