Tempo Framework — Overview
The Tempo Framework orchestrates TEMPO/TEMPO2 runs in a predictable, reproducible way. It is built from small, typed settings that describe paths, engine options, input modifications, what to capture/keep, runtime workspace layout, and logging.
Core ideas:
- You configure a run using
TempoRunSettings(composed ofRunPaths,EngineOptions,InputModifiers,CaptureOptions,RetentionOptions,WhiteNoiseOptions,WorkspaceOptions,LoggingOptions). - Files are materialized into a job workspace before execution, according to
WorkspaceOptions. - The engine runs with consistent flags and working directory selection.
- Outputs are parsed into structured Julia results.
Data flow (typical)
- Build
TempoRunSettings(or copy/modify withcopy_with). - Optionally
validate(settings)to check inputs andpar_outputfilename. - Clean old artifacts in the job area (optional,
cleanup_before_run=true). - Materialize a job workspace (flat or split layout).
- Execute TEMPO/TEMPO2 with derived flags (capture residuals if requested).
- Parse engine outputs into result types.
- Optionally save artifacts/manifest and clean temporary files per policy.
Paths and layout
par_inputandtim_inputare file names relative towork_dir.par_outputis a filename-only token; the runner writes it under:job_root/<par_output>forlayout=:flatjob_root/output/<par_output>forlayout=:split
WorkspaceOptions (highlights)
work_mode = :inplace | :jobdirandjob_namecontrol where the job root lives.layout = :flat | :splitand optionaltemp_dircontrol on-disk structure and execution cwd.link_tim,snapshot_parcontrol how inputs are staged into the job root.cleanup_before_run,keep_tmp_on_success,keep_tmp_on_errorcontrol cleanup behavior.write_manifestadds a small record of what was executed.- Optional I/O mirroring controls (e.g.,
io_mirror = :none | :full | (:depth_minus, N)if enabled in your build) can mirror job directories or outputs up the directory tree.
Results (high level)
Parsing builds structured results that can include:
- Basic fit/engine outputs and internal iterations
- Residual statistics
- Optional white noise diagnostics (if enabled)
See the dedicated Results page for details.