{"sections":[{"heading":"Choose and record the seed","paragraphs":["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."]},{"figures":[{"asset_id":"josim-fixed-seed-settings","caption":"Set seed and Override seed serve different purposes. This native view illustrates the controls; its GUI run/preview route has not been exercised here."}],"heading":"Set it in the GUI","paragraphs":["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."],"steps":["Open the saved source netlist and its Run settings. In Reproducibility, enable Set seed and enter a nonzero value such as 12345.","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.","Save the source, preview the saved plan and inspect its effective seed before running. Record the selected case configuration with the result."]},{"code":"* Fixed-seed example: explicit sampled noise and resistor spread\nV1 N 0 NOISE(1n 0 0.5p)\nR1 N 0 50 spread=0.05\n.OPTION ANALYSIS=VOLTAGE INTEGRATION=BDF SEED=77\n.TRAN 0.5p 20p 0 0.5p\n.PRINT V(N) I(R1)\n.END\n","heading":"Save the complete example as seeded_noise.cir"},{"code":"josim-pro-cli --seed 12345 -P 17 -o first.csv seeded_noise.cir\njosim-pro-cli --seed 12345 -P 17 -o second.csv seeded_noise.cir\njosim-pro-cli --seed 12346 -P 17 -o changed.csv seeded_noise.cir","heading":"Repeat it from the command line","paragraphs":["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."]},{"heading":"Check the result","paragraphs":["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."]},{"heading":"If repetition fails","steps":["Check the effective seed in the actual run record, including CLI/GUI override precedence and block-local options.","Compare complete input bytes, runtime identity, time coordinates, solver settings and output precision before comparing trace values.","For an invalid seed diagnostic, supply a nonnegative unsigned integer; use a nonzero value for a deterministic baseline."]}],"canonical_url":"https://www.sun-magnetics.com/knowledge-base/josim-seed-repeatability","url":"/knowledge-base/josim-seed-repeatability","known_issues":[],"search_record":{"execution":true,"relatedProducts":[],"version_tags":["JoSIM-Pro 2.9 target"],"text":"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. JoSIM-Pro 2.9.0 release target; frozen Windows candidate CLI and maintained-source evidence How to fixed seed repeatable noise spread randomness deterministic simulation seed override automatic seed zero 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. Open the saved source netlist and its Run settings. In Reproducibility, enable Set seed and enter a nonzero value such as 12345. 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. Save the source, preview the saved plan and inspect its effective seed before running. Record the selected case configuration with the result.  Set seed and Override seed serve different purposes. This native view illustrates the controls; its GUI run/preview route has not been exercised here. Native JoSIM Run settings showing the reproducibility controls, a fixed seed of 12345, Set seed enabled and Override seed selected. Save the complete example as seeded_noise.cir * Fixed-seed example: explicit sampled noise and resistor spread\nV1 N 0 NOISE(1n 0 0.5p)\nR1 N 0 50 spread=0.05\n.OPTION ANALYSIS=VOLTAGE INTEGRATION=BDF SEED=77\n.TRAN 0.5p 20p 0 0.5p\n.PRINT V(N) I(R1)\n.END\n 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. josim-pro-cli --seed 12345 -P 17 -o first.csv seeded_noise.cir\njosim-pro-cli --seed 12345 -P 17 -o second.csv seeded_noise.cir\njosim-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 Check the effective seed in the actual run record, including CLI/GUI override precedence and block-local options. Compare complete input bytes, runtime identity, time coordinates, solver settings and output precision before comparing trace values. For an invalid seed diagnostic, supply a nonnegative unsigned integer; use a nonzero value for a deterministic baseline. ","id":"josim-seed-repeatability","keywords":"fixed seed repeatable noise spread randomness deterministic simulation seed override automatic seed zero","kind":"How to","title":"Make noisy and spread simulations reproducible","product":"JoSIM-Pro"},"version":"2.9.0 release target; frozen Windows candidate CLI and maintained-source evidence","id":"josim-seed-repeatability","related":["/knowledge-base/josim-noise-settings","/knowledge-base/josim-transient-timestep","/knowledge-base/josim-testbench"],"downloads":[{"url":"/_functions/kbExample?name=seeded-noise.zip","scope":"Exact checked input files plus instructions; final-release/platform applicability remains pending.","files":["seeded_noise.cir","README.txt"],"id":"seeded-noise","requires":["Matching licensed JoSIM-Pro 2.9 CLI","New writable folder; preserve all supplied files together"],"title":"Make noisy and spread simulations reproducible"}],"publication_status":"published","numerical_output":null,"provenance":{"execution_checks":[{"routes":["cli"],"scope":"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","result":"passed","articles":["josim-seed-repeatability","josim-stream-compressed","josim-parameter-sweeps","josim-testbench"],"purpose":"josim-reproducibility-output-sweeps-testbench","version":"JoSIM-Pro 2.9 frozen Windows source candidate built 3 November 2026; not the final distributed package","id":"VAL-017","records":["josim-jobs-independent-cli-review"],"limit":"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.","observed":{"rc_output":{"rows":201,"stop_s":1e-10,"traces":3},"seeded_noise":{"stop_s":2e-11,"traces":2,"rows":41,"deck_seed":77,"fixed_seed":12345},"sweep":{"rows_per_case":6,"comparison_relative_tolerance":1e-12,"comparison_absolute_tolerance_V":1e-15,"cases":6,"voltage_V_in_source_order":[0.003,0.002,0.001,0.006,0.004,0.002]},"testbench":{"seed":321,"spec_failure_check_states":["pass","fail","pass"],"spec_failure_exit":2,"missing_or_unit_mismatch_exit":3,"pass_exit":0,"cases":3}}}],"figure_evidence":[{"evidence_limit":"A native control illustration. The separately recorded CLI examples do not qualify this GUI route or the final distributed package.","id":"josim-fixed-seed-settings","reference_label":"JoSIM-Pro 2.9 frozen Windows candidate, native controls, 3 November 2026"}],"review_notes":["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."],"scope":"Recorded inputs/builds only. Complete walkthrough and final-package acceptance remain separate.","verification_requirements":{"gui_method":"product-native scenario or recorded operator walkthrough; screenshots required for GUI guidance","status":"review-incomplete","illustrations":"required","required":["technical-review","release-applicability","execution","recovery","gui-workflow","illustrations"],"legacy_walkthrough_field":"pending retained; not a completed GUI task"},"sources":[{"id":"josim-pro:docs/manual_source/sections/usage.tex","section":"Reproducibility and randomness; Analysis and runtime control"},{"id":"josim-pro:docs/manual_source/sections/syntax.tex","section":"Noise source; Parameter spread"},{"id":"josim-pro:docs/manual_source/sections/gui_simulation_results.tex","section":"Run settings"},{"id":"validation:josim-jobs-windows-20261103","section":"VAL-017; exact complete inputs, checked CLI outcomes and limits"},{"id":"capture:josim-jobs-ui-20261103T145751","section":"Production control illustrations only; no GUI solve, preview or bench run"},{"id":"owner:technical-review-20261102","section":"2.9 public target; final distributed-package checks required"}]},"title":"Make noisy and spread simulations reproducible","type":"How to","markdown_url":"/_functions/kbResource?path=markdown%2Fjosim-seed-repeatability.md","summary":"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.","product":"JoSIM-Pro"}