“History”
“History” reads the jobs you saved or ran (“Save as job”, “Run calculation”) from the run.json files directly under the job folder. After a restart, choosing the same folder restores the list. By default it uses the folder of “3 Run settings”. The job folder button at the top shows the path and whether it is “(same as 3 Run settings)” or a “(chosen folder)” (when the toolbar does not fit on one row, the caption “Job folder” and this note move into the tooltip, the search field narrows and “Compare ΔE” shows only its icon); another folder chosen with “Choose folder…” in its menu is remembered in the app settings. “Back to the “3 Run settings” folder” returns to following it. Viewing the history does not change the molecule being edited, candidates, Undo or the unsaved state of the project.

Figure 1 “History” lists the calculations in the job folder and shows the details, note and actions such as “Open in result viewer” and “Reuse molecule and settings” of the chosen job on the right.
- ListShows the state (a colored label), the calculation name and composition (the molecular formula at calculation time; a job left with the default calculation name “molforma” is listed by its title), method and basis set (the functional name for DFT, HF for Hartree–Fock), task, creation time (local time), duration, the calculation energy (Eh, with the method) and the note. Sorted by creation time, the list is divided by day (“Today”, “Yesterday” or the date, with the count); sorted by another column header, it is not divided. Rows without a value go last whatever the sort order. Search covers the name, method, basis set, task, composition, note, folder and state. The switch at the top filters by state (All, Running, Finished, Stopped / failed, Saved only; each count is the number of jobs matching the search). “Running” includes unconfirmed jobs, and “Stopped / failed” includes interrupted, no-process and unreadable records. Sorting and refreshing keep the selection by folder, and actions on rows hidden by the filter are disabled.
- Selected job (right)Shows the calculation name and state; method, basis set and task; composition, atom count, charge and multiplicity (read from the project saved with the job); the calculation energy and its kind (last task, frequency reference structure, BSSE-corrected, or last value in the log tail); start, end and duration; the exit code and whether normal termination was logged; the integrity check; run errors; warnings; the folder (its path can be copied); the note; and the actions. The note is saved to
memo.txtin the job’s folder shortly after you stop typing or when you move to another field (it is not covered by the integrity hashes; up to 1000 characters). The CSV also contains the composition and note. - Running jobsWhen you select a job running in this window, it shows, instead of the energy, the same progress as the run panel (done, running and waiting for each task; the latest geometry optimization step with the Gmax, Grms, Xrms and Xmax values and thresholds) with the elapsed time. You can use “Stop this calculation” (with confirmation), “Open log so far” (result viewer) and “Show run status and log” (run panel). While a job runs, the reuse, note and trash actions are hidden.
- Files (below the list)“Input”, “stdout”, “stderr” and “Record” switch between the fixed copies made at calculation time, and you can copy the shown file. The input is
input.nwitself, not regenerated from the current edits. Logs show their last 128 KiB; with “Follow” on, they refresh every second while shown. Full logs are available through “Open folder”. The arrow left of the heading expands and collapses the section (in the same way as the other cards; collapsed at first so the list is wider; the state is remembered in the app settings). In windows narrower than 1250 px, the right-hand column is hidden until you select a job so the list is wider, stays narrow after you select one, and the list shows “Task” under “Method / basis”. - “Open in result viewer” or double-clicking a row opens the results of the selected job. “Show in history” in the run panel selects the job shown there.
- “Reuse molecule and settings” validates the saved
project.molforma.jsonand then opens it as a new unsaved project. If there are unsaved edits, the usual save/discard/cancel dialog appears. Reuse is not possible while a candidate or cleanup is pending. The input and project of the original job are never overwritten; to run again, “Run calculation” starts a new job. The coordinates loaded are the molecule before the calculation. To take the optimized structure, follow with “Open in result viewer” → “Apply as candidate”. - “Export list as CSV…” in the “…” menu at the top exports all shown rows with the current filter and sort order. Times are written in UTC ISO format, numbers with
.as the decimal point, in UTF-8. Strings that could be read as formulas get a leading'. - “Stop this calculation” stops, after confirmation, only runs managed by this window. “Move to trash” moves, after confirmation, the whole folder of the selected job to the OS trash. Running and unconfirmed jobs and broken run records are excluded (“Interrupted, no process” jobs can be moved).
- Repairing recordsWhen there are “Interrupted, no process” jobs, a bar above the list shows their count and calculation names; “Repair record” there changes all those records to “Interrupted (record repaired)” and computes the calculation energy from the log. You can also repair only the selected job with “Repair record” on the right. A folder without trash support gives an error; MolForma does not switch to permanent deletion.
- Comparing ΔE“Compare ΔE”, or “Compare ΔE with this job” on the right, adds a column with the difference (ΔE) from the reference job and sorts by ΔE. The unit is kcal/mol, kJ/mol, eV or Eh, shown as a number and a bar; the reference row reads “Reference”. ΔE is shown only for jobs with the same composition, method (including the DFT functional), basis set and kind of energy (with or without BSSE correction, etc.) as the reference; other jobs show the reason (such as “Basis set differs”). Running and unconfirmed jobs show “Shown when finished”, “Interrupted, no process” jobs “Shown after repair”, and jobs without an energy “No energy recorded”. The right side shows the difference for the selected job in all four units, with both energies and the kind of value compared. Thermal corrections (zero-point energy, etc.) are not included. While comparing, the “Files” section is collapsed; “Use as reference” changes the reference and “Stop comparing” returns to the normal list.
- Folders without jobsFor a folder with no jobs (or one that is missing or unreadable), guidance with “Choose folder…” and “Back to 3 Run settings folder” replaces the list, and the number of jobs (up to 2000) in the folder of “3 Run settings” is shown.

Figure 2 ΔE compared with ethanol as the reference. Dimethyl ether, also C2H6O, is +5.49 kcal/mol; jobs with another composition show why there is no value.
The list shows the state as a short label (Saved only, Starting, Running, Stopping, Finished, Failed, Stopped, Timed out, Unconfirmed, No process, Interrupted, Unreadable); the detailed state (“Input saved”, “Finished (code 0)”, “Run failed”, “Stopped”, “Not confirmed running (recorded: running)”, “Interrupted, no process”, “Interrupted (record repaired)”, “Record unreadable”, etc.) appears in the tooltip of the row and of the label on the right. run.json records the host name, boot ID (Linux), process ID and process start time of the run. A calculation left recorded as starting / running / stopping by another window or an earlier session is marked “Interrupted, no process” only when it was recorded on the same PC and its process can be shown to have ended (the PID no longer exists, has been reused by another process, or the PC has restarted); otherwise (another PC, an old record without process information, or still running) it is “Unconfirmed”. Exit code 0 does not mean convergence or success of all tasks. The energy in the list is the value found at the end of the calculation by dividing the whole log by task and stored in summary of run.json (the SCF, DFT, MP2, CCSD or CCSD(T) total energy of the last task; for a frequency task the value of the reference structure, for BSSE the corrected value). Running jobs, and older jobs without this record, show the last total energy within the last 128 KiB of the log. It is not necessarily a converged value. If there is no such value, — is shown.
Newly saved run.json files also contain a summary of the calculation settings, the base directory of the original project and the SHA-256 of the project. Reuse is refused when the input or project does not match. Older version 1 records are read too; when the settings summary is missing, it is taken from the fixed copies. When an old record has no project hash, only the input is checked, and this is shown. The hashes are there to detect external edits and corruption; they are not signatures of authenticity.
Reuse keeps the original reference directory and resolves a relative executable path from the original base. The new job is saved in the parent folder of the selected job. If an old record cannot restore the original location of a relative executable path, reuse is refused. External movecs, basis set, scratch and permanent directories are neither copied nor guessed for the new location. Check in the run settings that they exist and are writable before running again. Not supported: converting a calculation whose input was edited by hand back to the original settings, restarting from the NWChem database, SSH, job queues, stopping processes of other windows, and history graphs.
The list is built by scanning the jobs directly under the folder one at a time in the event loop, and the scan can be stopped or switched to another folder. The limit is 2000 jobs or 20000 folders; when it is reached, a partial list and a limit message are shown. Subfolders are not scanned recursively, and jobs reached through symbolic links are excluded. run.json is parsed up to 256 KiB, the input and project up to 8 MiB each. Folders with broken records remain as error rows, and the rest of the history is still read. Folders that hold only an arbitrary NWChem output are not registered in the history; open them directly in the “Result viewer”.
Verifying history
The history Qt Test checks new and old fixed copies, moved folders, SHA-256 mismatches, broken records, read limits, links, energies from the log tail and from partial lines, the summary of the whole log (tasks, BSSE, frequencies) and the process information in the run record, detection of ended processes (vanished or reused PID, another PC) and record repair (including the bar that prompts it), atom count, charge and multiplicity of the saved project, which jobs ΔE can compare (composition, method, basis set, kind of energy), CSV, stopping a scan and changing the folder, day dividers, per-state counts and filtering, search, numeric sorting and keeping the selection, the details on the right and saving notes, ΔE comparison (reference, units, order, reasons for not showing), the progress of running jobs and stopping with confirmation, folders without jobs and returning to the folder of “3 Run settings”, the one-row toolbar in narrow windows, protection of unsaved work and Save as on reuse, candidate protection, moving to the result viewer, and the restrictions on what can go to the trash. The normal tests use a native fake executable and need no NWChem, MPI or network.
On 2026-10-23, CTest for all 9 series and the AddressSanitizer check of 13 history cases (including initialization, shutdown and optional screen output) passed. Images of the history page were also checked.
After the page was rebuilt on 2026-10-25, CTest for all 13 series (normal and without VTK) and the AddressSanitizer checks of history, execution, mcp and output passed. With jobs made by real NWChem (finished, stopped, timed out, failed, saved only, and water jobs with the same settings for comparing ΔE), the list, comparison, running-job and no-job pages were checked in both light and dark color schemes.
See also: “Result viewer”, recipe 14 From a result to the next calculation, the list of pages in “Features”.