Skip to content

ECCE 8.0.7

Choose a tag to compare

@ohlincha ohlincha released this 06 Sep 19:41
· 1593 commits to main since this release

New: ORCA code registration (issue #38)

ORCA 6.1.1 is now wired in as a code alongside NWChem/Gaussian/GAMESS-UK — RHF/UHF/RDFT/UDFT theory, Energy/Gradient/Geometry/Vibration/GeoVib/Magnetic(NMR, closed-shell) runtypes, memory-per-core and %pal parallel support, and an output importer for externally-run jobs. Input generation, submission, and job collection were verified repeatedly against a real ORCA 6.1.1 install — not just syntax-checked.

Scope, stated plainly: this release gets you to create, submit, run, and collect an ORCA job reliably. Property display in the viewer is still embryonic. Only total energy (with its energy-vs-optimization-step plot) is confirmed actually displaying correctly in a live run. Vibrational frequency and NMR shielding extraction scripts exist and were checked against captured real ORCA output in isolation, but — unlike total energy — have not been confirmed to actually display in the running viewer; a live test of frequencies after this release shipped showed they do not. Molecular orbitals, dipole moment, an energy breakdown (nuclear repulsion, electronic energy, etc.), and gradients are not implemented at all. The 3D molecule viewer also currently gets stuck showing the starting geometry for an optimization job rather than the converged structure (confirmed on ethane, and separately on "duplicate for rerun with latest geometry," which produces "WARNING: There is no geometry trace property. Coordinates unchanged."), with no way to step through intermediate geometries. The full remaining scope is tracked in #74, with a follow-on cross-code feature request (restarting a calculation from a prior job's converged MOs) tracked separately in #75.

Bug fixes

  • VDoc::isCurrentVdoc() version-string parsing — broke saving any calculation's input file on this build, not just ORCA's. The DAV createdWith metadata this build stamps is bare ("8.0.7"), but the version check unconditionally stripped the first character assuming an old "v8.0.6"-style prefix — silently downgrading every save to a legacy pre-v4 directory layout the data server then rejected with a 409 Conflict. Found live chasing an ORCA save failure; fixed to only strip a leading v/V when actually present.
  • eccejobmonitor's case-sensitive "enable all parse types" check — Launch.C sends "parseTypes ALL" (uppercase), but the check only recognized lowercase all. Fixed script-side, no rebuild needed to pick it up.
  • eccejobmonitor's "first match wins" parse-type matching — a parse type's Begin text doubles as both its internal table key and its match priority; two entries meant to match the same real line (one Frequency=last, one Frequency=all) end up with one permanently starving the other of ever matching, for the whole run, with no error. Confirmed live and fixed for ORCA's own energy/energy-trace properties; documented in CLAUDE.md since it'll bite the next code that needs this same "converged value + per-step trace from one marker line" shape.
  • ecce-dataserver-stop couldn't stop a genuinely running data server if its pidfile was missing for any reason — it just reported "not running" and gave up. Now falls back to finding the process by its exact config path.
  • ORCA.edml's input/output file extensions (.in/.out) had no Apache MIME mapping, so the uploaded file's Content-Type silently fell back to text/plain and ECCE's mimetype-filtered file lookup couldn't find it — even though it existed on disk. Renamed to distinctive .orcain/.orcaout extensions with matching AddType entries, matching every other code's convention.
  • Missing <LaunchPreprocessor> for ORCA caused launch to fail with a cryptic empty-command "command not found" — every code requires one, even as a no-op, and ORCA's orca.launchpp is also now the correct place the real launch-time processor count gets written into %pal.
  • Added a plain ecce command aliasing ecce-gateway, since that's the entry point people actually expect to type.

Also fixed along the way (not user-facing, but worth flagging for anyone extending a code)

  • rdStandardGBS.pm's named-basis-set import format has two undocumented requirements every existing code's *.expt importer actually violates (a required trailing print keyword, and no leading whitespace on library lines) — silently drops the basis assignment on import for every code, not just ORCA's. Tracked in #72.

Known limitations / tracked follow-up

  • Only total energy is confirmed displaying correctly in the viewer. Frequencies and NMR shielding have extraction scripts but are confirmed not showing in a live test; MOs, dipole moment, an energy breakdown, and gradients aren't implemented at all (#74).
  • ORCA's 3D geometry viewer shows the starting structure, not the converged one, for optimization jobs, with no per-step selection — also breaks "Duplicate for Rerun with Latest Geometry," which reports "no geometry trace property" and leaves coordinates unchanged (#74).
  • No ORCA-specific icon yet, uses the generic fallback (#73).
  • rdStandardGBS.pm named-basis import bug affects every code, not fixed at the source yet (#72).
  • Cross-code feature request: restart a calculation from a prior job's converged MOs, not yet designed or implemented (#75).

See the commit history for full details.