# Make noisy and spread simulations reproducible

Use a nonzero fixed seed, preserve the complete input/settings/runtime and compare the same named traces on the same time grid. Seed zero requests automatic seeding.

## Compatibility

2.9.0 release target; frozen Windows candidate CLI and maintained-source evidence

Published guidance with release-applicability limits. Confirm package applicability before following this guide.

[Download Make noisy and spread simulations reproducible (ZIP)](/_functions/kbExample?name=seeded-noise.zip)

Includes: seeded_noise.cir, README.txt.

## Choose and record the seed

A fixed seed repeats spread- and noise-related random choices for a given execution configuration. Preserve the netlist and includes, exact executable/core identity, formulation, integrator, time steps, noise sample interval, output requests and precision as well.

Use a nonzero unsigned 64-bit integer. Zero requests automatic/time-based seeding; do not use zero as a fixed baseline. A fixed seed alone is not a promise of identical results across tool versions, platforms, changed circuits or numerical settings.

## Set it in the GUI

Other displayed values remain defaults unless their Override checkbox is selected. For this supplied example, the netlist requests Voltage analysis; the pictured Phase default does not override it.

1. Open the saved source netlist and its Run settings. In Reproducibility, enable Set seed and enter a nonzero value such as 12345.
2. Select Override seed if this value must outrank a .OPTION SEED entry in the netlist or a control block. Without that override, a deck seed can win.
3. Save the source, preview the saved plan and inspect its effective seed before running. Record the selected case configuration with the result.

![Native JoSIM Run settings showing the reproducibility controls, a fixed seed of 12345, Set seed enabled and Override seed selected.](https://static.wixstatic.com/media/31de30_517715c171a54c4cb84f3d853ec45b86~mv2.png)

Set seed and Override seed serve different purposes. This native view illustrates the controls; its GUI run/preview route has not been exercised here.

## Save the complete example as seeded_noise.cir

```text
* Fixed-seed example: explicit sampled noise and resistor spread
V1 N 0 NOISE(1n 0 0.5p)
R1 N 0 50 spread=0.05
.OPTION ANALYSIS=VOLTAGE INTEGRATION=BDF SEED=77
.TRAN 0.5p 20p 0 0.5p
.PRINT V(N) I(R1)
.END

```

## Repeat it from the command line

The explicit CLI seed overrides the deck seed of 77. Use separate output names so the previous run remains available. Compare parsed numerical rows, not banners or timestamps.

```text
josim-pro-cli --seed 12345 -P 17 -o first.csv seeded_noise.cir
josim-pro-cli --seed 12345 -P 17 -o second.csv seeded_noise.cir
josim-pro-cli --seed 12346 -P 17 -o changed.csv seeded_noise.cir
```

## Check the result

The checked example has 41 finite rows over 0–20 ps, with V(N) in volts and I(R1) in amperes. Repeated seed 12345 runs produced exactly equal parsed samples; seed 12346 changed them. Omitting --seed matched an explicit CLI seed of 77 in this environment.

These are reproducibility observations for this runtime. They do not validate the physical noise spectrum, statistical distribution or cross-platform bitwise behaviour.

## If repetition fails

1. Check the effective seed in the actual run record, including CLI/GUI override precedence and block-local options.
2. Compare complete input bytes, runtime identity, time coordinates, solver settings and output precision before comparing trace values.
3. For an invalid seed diagnostic, supply a nonnegative unsigned integer; use a nonzero value for a deterministic baseline.

## Sources and verification details

Recorded inputs/builds only. Complete walkthrough and final-package acceptance remain separate.

- VAL-017: JoSIM-Pro 2.9 frozen Windows source candidate built 3 November 2026; not the final distributed package. Fixed-seed noise/spread repetition and CLI precedence; buffered/streamed/gzip data; six Cartesian sweep cases; saved testbench verdicts, provenance hashes, generation protection and recovery Twenty-two checks cover these CLI inputs and runtime only. Native screenshots illustrate authoring/settings controls without a GUI calculation, preview or saved-bench run. Cross-platform repeatability, peak memory, cancellation, other analysis families and final-package acceptance remain unverified. The constant-circuit numerical bounds are example-specific, not universal solver tolerances.

- josim-fixed-seed-settings: JoSIM-Pro 2.9 frozen Windows candidate, native controls, 3 November 2026. A native control illustration. The separately recorded CLI examples do not qualify this GUI route or the final distributed package.

- josim-pro:docs/manual_source/sections/usage.tex: Reproducibility and randomness; Analysis and runtime control
- josim-pro:docs/manual_source/sections/syntax.tex: Noise source; Parameter spread
- josim-pro:docs/manual_source/sections/gui_simulation_results.tex: Run settings
- validation:josim-jobs-windows-20261103: VAL-017; exact complete inputs, checked CLI outcomes and limits
- capture:josim-jobs-ui-20261103T145751: Production control illustrations only; no GUI solve, preview or bench run
- owner:technical-review-20261102: 2.9 public target; final distributed-package checks required

- VAL-017 checks the supplied CLI recipe on the frozen Windows candidate. The source manuals still match their reviewed hashes.
- Native images illustrate actual controls; the settings/workbench were cancelled and the testbench view hidden. Complete GUI, technical and final-package acceptance remain pending.

## Related guides

- [Check temperature, noise bandwidth and sample time in JoSIM®-Pro](/knowledge-base/josim-noise-settings)
- [Choose and refine simulation and output time steps](/knowledge-base/josim-transient-timestep)
- [Save a transient testbench with explicit pass and fail criteria](/knowledge-base/josim-testbench)
