Expand description
The command-line tool comnum: run declarative Monte Carlo campaigns.
comnum run SPEC... [--out DIR] [--threads N] [--fast-dev-run] [--profile] [--quiet] [--json] [--max-seconds S]
comnum check SPEC... [--json]
comnum verify SPEC... [--out DIR] [--threads N] [--quiet] [--json] [--max-seconds S]
comnum conditions SPEC
comnum blocks [NAME...] [--json]
comnum schema
comnum guiderun writes the CSV and JSON reports given by the specification, or
DIR/<name>.csv and DIR/<name>.json (DIR = results by default), and prints
every metric with its confidence interval (for a specification with a search, the
operating point of every combination of the other axes); --profile adds the mean
time of every block (profile). check builds the link of every
condition and runs one trial of each, without writing anything (for a specification
with a search, at the lower end of its range for every combination of the other
axes). verify runs the specifications and checks their expected results (closed
forms, published curves), prints every check, writes the reports of the run and
DIR/<name>.verify.json, and fails if a check fails. conditions lists the
conditions of the grid; blocks documents the blocks of the links (their parameters
with types, units and accepted values, and their ports; as JSON with --json);
schema prints the JSON Schema of a block of a link, for editors and graphical
front ends; guide prints the guide for programs and agents
(GUIDE_AGENTS.md of the crate).
For programs and agents (agent): --json prints one compact JSON document per
specification on standard output (the results with their confidence intervals and
their provenance, the checks of verify) and the errors as JSON with a kind, a hint
and a suggestion for a misspelt block or parameter; --max-seconds S bounds the
wall time of a run (300 s by default with --json, 0 for none), spread over its
conditions, and marks the conditions it cut short (time_limited: their results
then depend on the machine). A specification - is read from standard input (YAML
or JSON).
The binary comnum of this crate is main on the arguments of the process; a crate
that adds blocks (blocks::register) wraps the same function in its own binary,
so that its command lists, checks and runs them with the others.
Modules§
- agent
- The output of
comnum --jsonfor programs and agents: one compact JSON document per specification on standard output, results with their confidence intervals and their provenance, errors with a stable kind, a hint and a suggestion, and the time budget of--max-seconds.
Functions§
- main
- Run the command line on its arguments (without the program name); the exit code is 0 on success, 1 on a failure and 2 on a usage error.