{"id":"d8020d54-842e-4efc-b4a5-dc3a9dc4e014","arxiv_id":"2509.03917","paper_version":1,"verdict":"CONDITIONAL","confidence":"MODERATE","novelty_score":5.0,"correctness_risk":"medium","formal_verification":"none","parameter_count":2,"one_line_summary":"WaveMixings.jl is an open-source Julia package that computes pump-probe, 2D, fluorescence, and strong-field spectra from quasi-classical trajectory data.","lead":"A new Julia package computes time-resolved nonlinear spectra from quasi-classical trajectory simulations using the doorway-window approximation. It lets researchers simulate transient absorption and 2D spectra without writing their own signal-processing code.","discovery_kind":"extension","skeptic_critique":{"model":"deepseek-v4-flash","headline":"Validation is internal and visual: agreement with the authors' own prior scripts does not establish correctness; no quantitative or independent benchmark is provided.","rationale":"The reader's weakest assumption is that the validation relies on the authors' own earlier in-house results as ground truth and that agreement is assessed visually. My reading of the manuscript confirms this is the most load-bearing weakness: the central claim is a software correctness claim, and the only validation is a visual comparison against the authors' own prior undocumented implementation. No independent benchmark, analytic reference, or quantitative error metric is provided. The paper also explicitly notes that the example is not fully converged (Section V), which further weakens the evidentiary value of the demonstration. I looked for other potential concerns, such as equations possibly containing typos (e.g., the strong-field window functions use τ_pu in Eq. (29)-(31) where τ_pr might be expected, and Eq. (24) is oddly formatted), but these may be transcription artifacts and are not central to the main claim of the paper. The package is open source, documented, and includes tutorials and archived data, which are positive features, but they do not replace an independent correctness check. Since the concern is addressable by adding a quantitative benchmark, the conditional verdict is appropriate; I would not reject the paper, but the reproduction claim should be treated as unverified until such a check is provided. Thus my assessment agrees with the reader's and does not change the verdict.","tokens_in":18057,"tokens_out":3450,"duration_ms":38582,"concrete_test":"Using the archived Zenodo inputs (Ref. 72) and a pinned commit of WaveMixings.jl, write an independent implementation of Eqs. (5)-(9) (or use a simple analytic model, e.g., a displaced harmonic oscillator with known door-way/window or response-function results) and compute the integral TA PP spectra from the same trajectory data. Then compare component-wise (GSB, SE, ESA) the WaveMixings.jl outputs with the independent results, reporting a quantitative metric such as normalized root-mean-square deviation or maximum absolute deviation per frequency/time point. If the deviations are below a small predefined threshold (e.g., 1% of the signal maximum), the central reproduction claim is supported; if not, the validation is inadequate.","verdict_should_be":"UNCHANGED","load_bearing_attack":"The central claim is that WaveMixings.jl is a correct implementation of the quasi-classical doorway-window approximation and that it 'reproduces the TA PP signals of Gelin et al. for pyrazine as depicted Figure 2' (Section VI.A). The evidence for this claim is agreement with the authors' own prior in-house results (Ref. 63), which were produced by undocumented scripts using the same equations and the same trajectory inputs. This is a self-referential check: agreement with a previous private implementation of the same formulas by the same group demonstrates internal consistency, not correctness against an independent standard. The comparison is also exclusively visual: no numerical agreement metric (e.g., peak positions, intensities, integrated signals, or normalized root-mean-square deviation) is reported for the GSB, SE, or ESA components. The paper's own Section V cautions that 'For realistic simulations, more trajectories are required to obtain converged signals', and Section VI.A uses only 591 of 600 trajectories, so the displayed spectra are not converged benchmark results. Moreover, Section VI.A states that the total TA PP signal is dominated by GSB, so even a visually matching total could conceal component-level discrepancies in SE and ESA. Finally, no pinned commit hash or archived version of the exact code used is provided; the paper cites v0.3.5 and a Zenodo DOI for inputs/outputs, but not a reproducible commit. These gaps are load-bearing because the paper's contribution is a software correctness claim: without a quantitative, independent check, the reported reproduction is not established beyond the authors' prior work.","agreement_with_reader":"agree"},"referee_report":{"model":"deepseek-v4-flash","summary":"The paper presents WaveMixings.jl, an open-source Julia package for computing time-resolved nonlinear electronic spectra from quasi-classical (surface-hopping) trajectories within the doorway-window (DW) approximation. The manuscript restates the quasi-classical DW expressions for integral and dispersed transient absorption pump-probe, time-resolved fluorescence, 2D electronic, 2D-FLEX, and strong-field TA PP signals (Section III), describes the package architecture and input/output handling (Section V), and demonstrates the code on pyrazine (Section VI). The central validation claim is that WaveMixings.jl reproduces the TA PP signals of Gelin et al. (Ref. 63) for pyrazine, as stated in Section VI.A and Figure 2.","tokens_in":18418,"tokens_out":4682,"duration_ms":47646,"significance":"If the implementation is correct, the package fills a real need: it provides an open-source, dependency-light Julia platform for a class of spectroscopic simulations that were previously tied to undocumented in-house scripts. The coverage of several signal types, the use of standard-library Julia only, and the included tutorials and example data are concrete strengths. However, the paper's central correctness claim rests entirely on a visual, internal comparison with the authors' earlier implementation, using the same equations and the same trajectory inputs. No independent benchmark, analytic test, or numerical agreement metric is provided. Thus the significance of the package is clear, but the manuscript as written does not yet establish the reliability of the code beyond internal consistency.","major_comments":[{"comment":"The central claim that WaveMixings.jl 'reproduces the TA PP signals of Gelin et al. for pyrazine as depicted Figure 2' is supported only by visual inspection. Figure 2 shows the WaveMixings.jl output but does not overlay or quantitatively compare the Ref. 63 result. Moreover, the comparison is with the authors' own earlier in-house implementation of the same formulas using the same trajectory inputs; agreement therefore demonstrates self-consistency, not correctness against an independent standard. Please provide a numerical agreement metric (e.g., normalized root-mean-square deviation over the (omega_pr, T) grid) for the total signal and for the GSB, SE, and ESA components, and, if possible, an independent check such as an analytic model, a limiting case, or a comparison with an independently written implementation.","section":"Section VI.A, Figure 2, and Section V"},{"comment":"The pyrazine validation uses only 591 of 600 trajectories, selected by completing successfully, while Section V explicitly cautions that 'For realistic simulations, more trajectories are required to obtain converged signals.' This makes the reference result itself an unconverged benchmark, and the visual agreement could be sensitive to trajectory count. Please report convergence behavior, include error bars or confidence intervals, or use the full 600-trajectory set; at minimum, quantify how the displayed signals change with trajectory number.","section":"Section VI.A and Section V"},{"comment":"The paper cites WaveMixings.jl version v0.3.5 and a Zenodo DOI for inputs/outputs, but does not provide a pinned commit hash, tag, or an archived copy of the exact source code version used for the reported results. For a software paper, this is a reproducibility gap: the reader cannot verify that the code evaluated in the paper corresponds to the version in the repository. Please provide a specific commit/tag and, if possible, include the source code in the Zenodo archive or state that the Zenodo record contains the exact version.","section":"Section V and Refs. 71-72"},{"comment":"In the strong-field window functions, the pulse duration appearing in the cosine terms is written as tau_pu in Eqs. (29)-(31), whereas for the window functions one would expect the probe-pulse duration tau_pr. This is inconsistent with the doorway-window picture and with the doorway function of Eq. (27), which uses tau_pu. Please correct the equations or, if the code intentionally uses tau_pu, explain the choice and ensure the code matches the corrected formulas. This is especially important because the strong-field functionality is claimed in the package but is not demonstrated in Section VI.","section":"Section III.F, Eqs. (29)-(31)"}],"minor_comments":[{"comment":"The expression for \\tilde E_pr(omega) is typeset ambiguously: 'exp(-omega^2/4/\\tau_pr^2 + 8/\\tau_nu^2)' should be written as exp[-omega^2 / (4/\\tau_pr^2 + 8/\\tau_nu^2)]. Please clarify whether the 4 and 8 are intended as written and define E_pr(omega) consistently.","section":"Section III.E, Eq. (24)"},{"comment":"The text states the excitation frequency range is 1.5 to 7.0 eV, but the code in Listing 2 uses make_probe_freq(1.5, 6.0, 200). Please make the text and code consistent.","section":"Section VI.D, Listing 2"},{"comment":"There is a typo in the opening sentence: 'obtainded' should be 'obtained'.","section":"Section VI.A"},{"comment":"The caption reads 'Dispersed TA PPP signals'; 'PPP' should likely be 'PP'.","section":"Figure 3 caption"},{"comment":"The Introduction lists strong-field TA PP and time-resolved fluorescence as package capabilities, but Section VI does not show a strong-field example. If the strong-field module is implemented and tested, adding an example would strengthen the paper; otherwise, clarify that it is not demonstrated in the current version.","section":"Section VI"}],"recommendation":"major_revision","confidential_remarks":"The paper is not unsound in its overall approach, and the package appears useful. The main issue is that the validation is internal and visual, which is a standard and fixable problem for software papers. I would not reject, but the authors need to add quantitative validation and pin the exact code version before publication."},"author_rebuttal":null,"desk_editor":{"model":"deepseek-v4-flash","letter":"The useful news here is that WaveMixings.jl exists: a properly documented, open-source Julia package that implements the quasi-classical doorway-window approximation for a range of time-resolved nonlinear spectra. That is genuinely new—the prior implementations lived as undocumented in-house scripts—and the package structure looks sensible, with I/O, constructors, processing, and a WaveMixing struct. The theory recap is consistent with the published equations, and the code uses only standard libraries, which lowers the barrier for other groups. The examples for pyrazine show the package can produce GSB, SE, ESA, total TA PP, dispersed, TRF, 2D, and 2D-FLEX signals from trajectory data in a couple of minutes on a laptop. That is a concrete and reproducible artifact.\n\nThe soft spot is the validation. The central claim, that the package 'reproduces the TA PP signals of Gelin et al. for pyrazine' (Section VI.A), is supported only by visual comparison with the authors' own previous in-house implementation, using the same equations and the same 591 trajectories. That shows internal consistency, not correctness against an independent benchmark. There is no quantitative error metric—no peak positions, intensities, or NRMSD—for the GSB, SE, or ESA components, and the paper itself says the trajectory count is short of convergence. Also, the version is stated (v0.3.5) but there is no pinned commit hash, so the exact code used is not fully archived. For a software paper, these are addressable but real gaps.\n\nThis paper is for computational spectroscopists who want to compute DW-approximation signals without reimplementing the method. It is not a new physics paper, and it does not claim to be. The central argument—that the package provides a usable implementation—holds up as far as it goes, but the validation should be strengthened before publication: an independent test (e.g., against a simple analytic model or a quantitatively compared published spectrum) and a pinned commit or archived version would make the correctness claim credible.\n\nI would send this to a serious referee rather than desk-reject: the package is useful, the code is available, and the issues are fixable with modest additional work. But I would ask that referee to specifically check the validation and reproducibility.\n\nRecommendation: reject with an invitation to revise, or accept after the validation gaps are addressed, depending on the journal's standards for software papers.","headline":"Useful, well-documented software package that needs stronger validation than a visual match to its own prior code.","tokens_in":18888,"tokens_out":2898,"would_cite":true,"duration_ms":26671,"reading_group":"maybe","serious_thinker":"yes","would_accept_peer_review":true},"rs_alignment":null,"lean_confirmation":null,"pith_extraction":{"msc":[],"pacs":[],"model":"deepseek-v4-flash","headline":"WaveMixings.jl is an open-source Julia package that computes time-resolved nonlinear electronic spectra—integral and dispersed transient absorption, 2D, 2D-FLEX, strong-field, and fluorescence—directly from quasi-classical trajectory data.","keywords":["doorway-window approximation","quasi-classical trajectories","transient absorption pump-probe","two-dimensional electronic spectroscopy","2D-FLEX","time-resolved fluorescence","surface hopping","pyrazine"],"falsifier":"Take the public pyrazine trajectory logs and pulse parameters, implement the doorway-window formulas independently in a different language, and compare the resulting spectra with WaveMixings.jl output: a difference larger than Monte Carlo sampling noise would falsify the reproduction claim. A separate, stronger test would compare the simulated signals to experimental transient-absorption spectra of pyrazine.","tokens_in":17995,"feed_emoji":"🔬","tokens_out":6758,"duration_ms":64989,"temperature":0.7,"pith_summary":"WaveMixings.jl is an open-source Julia package that turns trajectory surface-hopping output—electronic energies and transition dipoles along classical paths—into femtosecond time-resolved nonlinear electronic spectra. It implements the quasi-classical doorway-window approximation for six kinds of signals: integral and dispersed transient-absorption pump-probe, two-dimensional electronic, two-dimensional fluorescence-excitation, strong-field pump-probe, and time-resolved fluorescence. The central demonstration is that the package reproduces the pyrazine transient-absorption signals obtained earlier with the authors' undocumented in-house scripts, using the same trajectory data and pulse parameters. The point of the package is to make this methodology usable and extendable by others: a few lines of code replace bespoke scripts, and the modular structure is meant to allow new doorway-window-based signals to be added.","feed_headline":"One Julia package turns trajectory logs into six nonlinear spectra","feed_subtitle":"An open-source doorway-window implementation makes femtosecond spectroscopy signals reproducible and accessible.","key_machinery":"The central object is the WaveMixing struct and its typed signal functions (gsb, se, esa, with dispersion, strong-field, 2D, and fluorescence variants). The carrying mechanism is the doorway-window factorization of third-order signals: a doorway function D, built from the ground-state Wigner distribution, pump power spectrum, and transition dipoles, prepares the system, and a window function W, built from probe spectrum and transition dipoles at the trajectory endpoint, reads it out, with the field-free population time T bridged by surface-hopping trajectories and Monte Carlo averaging. Ground-state bleach and stimulated emission enter with positive sign, excited-state absorption with negati","core_discovery":"The paper's central claim is that the quasi-classical doorway-window approximation can be implemented as a general, efficient post-processing engine: all spectroscopic signals are built from the same factorization, signal = Re sum_k a_k < W_k(R(T),P(T)) D(R,P) >_MC, in which the doorway D samples initial conditions from the ground-state Wigner distribution weighted by the pump spectrum and transition dipoles, and the window W_k is evaluated at each trajectory's endpoint with the probe spectrum and transition dipoles. WaveMixings.jl codes this factorization for integral and dispersed transient-absorption pump-probe, 2D, 2D-FLEX, strong-field, and fluorescence signals, with ground-state bleach","pith_inferences":["Editorial inference: the validation strategy tests internal consistency against an older implementation, not agreement with experiment; comparing the package's signals directly to measured pyrazine transient-absorption data would test the quasi-classical doorway-window approximation itself.","Editorial inference: because the 2D-FLEX signal isolates stimulated emission, it offers a clean observable for benchmarking surface-hopping internal-conversion dynamics, a use the paper notes only in passing.","Editorial inference: the package's trajectory-format interface could be extended to serve as a general conversion layer between ab initio dynamics codes and spectroscopic observables, lowering the cost of comparing methods."],"forward_implications":["A research group using any trajectory surface-hopping, Ehrenfest, or mapping-approach code can obtain six different femtosecond nonlinear spectra from one input pipeline instead of writing bespoke scripts.","The pyrazine test demonstrates that full spectra can be computed on a laptop (591 trajectories, 128 seconds), so the method is practical as a routine post-processing step rather than a specialized high-performance task.","Because the formulas are modular, new doorway-window-based spectroscopy variants—such as polarization-resolved or six-wave-mixing signals the authors list as future work—can be added without reimplementing the input/output, filtering, and plotting machinery.","Reproducing earlier results with a documented open-source implementation makes the quasi-classical doorway-window approximation a feasible standard tool for comparing simulated and measured transient spectra."],"supporting_citations":[{"why":"Supplies the pyrazine trajectory data, pulse parameters, and reference transient-absorption signals that the package must reproduce.","marker":"[63]"},{"why":"Provides the doorway-window formulas and previous simulation results for two-dimensional electronic spectra that the package implements.","marker":"[64]"},{"why":"Derives the time-resolved fluorescence expression implemented in the fluorescence module.","marker":"[65]"},{"why":"Derives the 2D-FLEX doorway-window expression included in the package.","marker":"[66]"},{"why":"Derives the strong-field doorway-window expressions beyond the weak-field limit that the package implements.","marker":"[67]"},{"why":"States the assumptions and explicit quasi-classical doorway-window formulas that the package codes.","marker":"[69]"},{"why":"Supplies the general four-wave-mixing doorway-window factorization and the sign conventions for ground-state bleach, stimulated emission, and excited-state absorption.","marker":"[5]"}],"fun_headline_variants":["WaveMixings.jl: one Julia package, six nonlinear spectra","Six spectra from trajectories: WaveMixings.jl","WaveMixings.jl: quasi-classical spectra on the fly","One Julia package for six nonlinear spectra from trajectories","WaveMixings.jl computes six spectra from one trajectory set"],"cache_read_input_tokens":2688,"weakest_assumption_plain":"The validation assumes the earlier in-house results are the correct ground truth; agreement with them demonstrates consistency between the two codebases, not correctness against experiment.","fun_headline_variants_meta":{"raw":{"variants":["WaveMixings.jl: one Julia package, six nonlinear spectra","Six spectra from trajectories: WaveMixings.jl","WaveMixings.jl: quasi-classical spectra on the fly","One Julia package for six nonlinear spectra from trajectories","WaveMixings.jl computes six spectra from one trajectory set"]},"model":"deepseek-v4-flash","effort":"low","cost_usd":0.000554,"raw_usage":{"total_tokens":2422,"prompt_tokens":637,"completion_tokens":1785,"prompt_tokens_details":{"cached_tokens":256},"prompt_cache_hit_tokens":256,"prompt_cache_miss_tokens":381,"completion_tokens_details":{"reasoning_tokens":1702}},"tokens_in":381,"tokens_out":1785,"duration_ms":12791,"temperature":1.0,"reasoning_tokens":1702,"cache_read_input_tokens":256,"cache_creation_input_tokens":0},"cache_creation_input_tokens":0},"created_at":"2026-08-05T10:32:22.790310+00:00","model_set":{"reader":"deepseek-v4-flash"},"falsifier":"Take the public pyrazine trajectory logs and pulse parameters, implement the doorway-window formulas independently in a different language, and compare the resulting spectra with WaveMixings.jl output: a difference larger than Monte Carlo sampling noise would falsify the reproduction claim. A separate, stronger test would compare the simulated signals to experimental transient-absorption spectra of pyrazine.","supporting_citations":[],"review_version":1}