McStas/McXtrace v3.8.4 #2654
willend
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Changes in McStas/McXtrace 3.8.4
Covers everything since the last full release, 3.7.9 (July 2, 2026), including all changes already shipped quietly via the intermediate conda-forge releases 3.7.10–3.8.3, and a ground-up rewrite of the McStas/McXtrace manuals.
Sorry for any incovenience caused if you installed any of 3.8.1-3... Some doc-details were still not in place!
What's Changed
Common to McStas and McXtrace
Manuals
mcrun/mxrun,mcplot,mcdisplay,mcgui,mcdoc, ...) rewritten against the actual CLI code; component reference/parameter tables now generated directly from the current.compsources (closing a long-standing manual/code drift);mcdocitself reworked to support it. By @willend in AI Documentation revamp #2592cogen.c, example instruments, component sources, tool CLIs) were given to an AI coding agent to draft the updated text, reviewed and merged by @willend. Given the scale of the rewrite, minor errors/omissions in the manuals are expected — please flag anything you spot via a GitHub issuemcdoc's browser-based overview page now also links to per-tool cheat-sheets (mcrun,mcgui,mcplot,mcdisplay,mctest,mcdoc, code generators) and to new standalone Instrument/Component grammar reference pages, all a click away from the component browser by @willendNew tooling
mcplotdiff-html/mcplotdiff-pyqtgraph/mcplotdiff-matplotlib: plot the difference between two simulation results, monitor by monitor (diff.monN = a.monN - b.monN), with a diverging blue/white/red colour scale for 2D monitors and diff datasets written out as normal, reopenable McCode.datfiles by @willend in New tool: mcplotdiff-html, render difference plots between two datasets #2560, New tool: mcplotdiff-pyqtgraph, render difference plots between two datasets (follow-up for #2560) #2562, New tool: mcplotdiff-matplotlib, render difference plots between two datasets (follow-up for #2562) #2564 — later reworked to show %-difference in mcplotdiff-* reengineered to show %-difference in diff-plots #2599 and to always write diff datasets in Let the HTML diffplotter write "diff datasets" #2585mcviewtestnow spawnsmcplotdiff-htmlautomatically by @willend in mcviewtest: spawn the new mcplotdiff-html plotter #2568mccoplot-html/mccoplot-pyqtgraph/mccoplot-matplotlib: companion tomcplotdiff, overlaying two (or more) datasets' 1D monitors on the same axes for direct curve comparison by @willend in New tools: mccoplot folder_A/ folder_B/ #2587, with n-way overlay support in Coplot solution with n x coplots #2594 and a McXtrace-side fix in Fix for mxcoplot-html McXtrace #2589mcviewtestalso spawnsmccoplotgeneration by @willend in Let mcviewtest spawn coplot generation also #2588, Fix mcviewtest syntax for calling mccoplot after updates #2595mctest: added-s/--seedoption and an option to emulate McCode's classic "Unix epoch" default seed, for reproducible test runs by @willend in Add -s --seed option to mctest #2575, Add option to "emulate" McCode default 'Unix epoch' seed in mctest #2576mctest: new--strictmode fails a test if an instrument is missing its%Example:header line(s) by @willend in Add --strict mode for mctest: fail if no %Example: line(s) #2602 (spillover-bug fix in Fix spillover-issue in --strict mode #2604), plus general robustness improvements in Various improvements for mctest #2603 and a GPU-box-specific fix in Fix for mctest issue seen on GPU box #2613mctest: fixedTypeErroron re-runs caused bydisplaytimenever being restored from the saved JSON state by @mads-bertelsen-agentic in Fix mctest TypeError on re-runs: displaytime never restored from JSON #2624mcplot-html: added a slider to control plot iframe size, and geometry/scaling adjustments, by @willend in More html plotter tweaks (m*plot-html, as used from mctest) #2547, Add slider for control of iframe size #2548, More html plotter tweaks #2549, Final adjustment of geometry/scaling for mcplot-html #2550mcplot-matplotlib(especially for large 2D matrices) by @willend in Speed up execution of mcplot-matplotlib (especially for big 2D matrices) #2570mcrun/mxrun: allow multiscan-Mwith list-scan-Land new scan/list syntaxpar=a:delta:bfor both -N and L modes by @willend in mcrun: allow multiscan -M with list -L #2618mccode.datin the NeXus-scan case by @willend in Plottable mccode.dat in NeXus scan case #2619mcgui/mxgui: non-numeric entries in nsteps are now deferred tomcrunfor interpretation instead of rejected up front by @willend in If non-numeric entries appear in mcgui / nsteps - defer interpretation to mcrun #2625mcdoc: list%Example:lines in bold by @willend in Mcdoc list percent examples in bold #2636mcviewtest— tolerate a trailing/in ref path by @willend in Minor tweak on mcviewtest - tolerate trailling ‘/‘ in ref #2593Code generator & grammar
SPLITloop (silently corrupting RNG state), and the Mersenne-Twister seed was never actually applied at start-up due to a staleRNG_ALGcheck — both fixed by @mads-bertelsen-agentic in Fix MT random seed and SPLIT KISS random state restore #2620COPY(instance)to no longer transferEXTENDet al. by @willend in Cogen: Simplify COPY(instance) to not transfer EXTEND et al. #2627 (two affected instruments updated in Adapt two affected instruments for consequences of 2627 #2640)mcstas-antlrin McCode GitHub CI by @willend in Enable mcstas-antlr in McCode GitHub CI #2610mcstas-antlrby @willend in Edits for increased compatibility with mcstas-antlr #2612.pyinstrument generated bymccode-pygenby @willend in Add input parameters to base .py instrument generated by mccode-pygen #2601stdlib::syntax andmcrunmin:delta:maxscan syntax by @willend in Fix for collision between stdlib:: syntax and mcrun min:delta:max #2626ESS_BEER_MCPL.instrGETPATH(data)DEPENDENCYis no longer needed #2606 + other unneeded use ofGETPATH()by @willend in Fix issue 2606 + other unneeded use of GETPATH() #2609WHEN(...)clause runs once per particle, so precomputing a flag inINITIALIZEbeats astrcmp()in TRACEInfrastructure / build system / CI
FetchContentintegration for Greg Tucker'smcstas-chopper-libby @willend in FetchContent solution for mcstas-chopper-lib from Greg Tucker #2631, with a test instrument added in Add test for fetched instr from @g5t chopper-lib #2632mcviewtestby @willend in Consolidate conda/non-conda ‘basictest’ workflows and use with new mcviewtest #2577mpi=2on macOS also in basictests by @willend in Use mpi=2 on macOS also in basictests #2586cif2hklinTest_Powdersby @willend in Suppress use of cif2hkl in Test_Powders #2634McStas only
FRMII_SPODI/FRMII_SPODI_MULTI, a powder diffractometer at MLZ Garching (contributed by V. Kochetov, C. Hauf, M. Hoelzel and A. Senyshyn) by @kinetik161 in Add instrument examples of SPODI (FRMII) powder diffractometer #2608 — enabled to run on GPU/OpenACC by @willend in Allow recent FRMII SPODI contributions to run on GPU/ OpenACC #2623PSI_ICON,Radiography_Lithium_Battery,Radiography_Sword) by @willend in Import 3 x imaging instruments from various sources #2569mcstas-chopper-lib, see FetchContent integration above):Masked_ESS_butterflyandNXdisk_chopper, with their test/example instrumentsMasked_ESS_butterfly_image,NXdisk_chopper_displayandNXdisk_chopper_image, courtesy of @g5t'smcstas-chopper-lib— installed directly into the normalmcstas-comps/contribandexamples/Tests_opticslocations, so they appear inmcdoc/mcguilike any other McStas componentorderparameter by @Lomholy in PowderN remove erroneous order parameter #2622Vertical_Bendergravity always disabled by @MilanKlausz in Patch issue #2637 - Vertical_Bender gravity always disabled #2638nowritefileparameter to all Union loggers and abs_loggers by @mads-bertelsen-agentic in Add nowritefile parameter to all Union loggers and abs_loggers #2607Monitor_nDinstances to get rid of timestamps by @willend in Use filenames in MCPL instrument Monitor_nD instances to get rid of timestamps #2574MCPL_output-> producing neutrons in instrument coordinate frame by @willend in Add another MCPL_output -> producing neutrons in instr coordinate frame #2629McXtrace only
Abs_objectstest on GPU by @willend in Likely fix for McXtrace / Abs_objects test on GPU #2557Filter.comp: better handling of non-standard input files by @willend in McXtrace Filter.comp: Better handling of non-standard inputfiles #2552mxcoplot-htmlMcXtrace by @willend in Fix for mxcoplot-html McXtrace #2589New Contributors
Full Changelog: v3.7.9...v3.8.4
This discussion was created from the release McStas/McXtrace v3.8.4.
All reactions