Skip to content

Added UMA infrastructure#895

Open
alongd wants to merge 14 commits into
mainfrom
uma
Open

Added UMA infrastructure#895
alongd wants to merge 14 commits into
mainfrom
uma

Conversation

@alongd
Copy link
Copy Markdown
Member

@alongd alongd commented Jun 7, 2026

Currently sits on top of #836

kfir4444 and others added 14 commits March 29, 2026 13:23
Add devtools/uma_environment.yml and devtools/install_uma.sh: a documented,
user-driven setup script that wraps every step (create uma_env, verify
fairchem/Sella/ASE imports, interactive HuggingFace login for the gated model,
and the runtime exports for invoking UMA from arc_env). Supports --test to run
the model-dependent unit tests and --skip-hf-login. Wire 'make install-uma' and
.PHONY, and document UMA setup in installation.rst.

Deliberately NOT added to devtools/install_all.sh / install-ci: the UMA model is
gated (Meta license + HuggingFace token) and heavy, so it is a manual setup; CI
coverage comes from the env-independent UMA tests.
Build UMA (Meta FAIR fairchem-core, uma-s-1p1, task omol) on top of the generic
ASE adapter (PR #836) instead of a standalone adapter:

- ase_script.py: add a uma/fairchem branch to get_calculator; set total charge and
  spin (=multiplicity) on atoms.info (omol conditioning); use Sella order=1 for TS
  saddle-point searches when is_ts; add an irc job type via Sella IRC.
- ase.py: derive the calculator from the level method (so method='uma' works with no
  args), resolve UMA defaults (latest model, omol, cpu) via determine_settings, pass
  is_ts and irc_direction to the script, and warn on a UMA single point for an isolated
  atom or triplet O2 (unreliable absolute energy).
- settings.py: UMA_PYTHON=find_executable('uma_env'), ASE_CALCULATORS_ENV['uma'], and
  UMA_LATEST_MODEL.
- level.py: route method 'uma'/'uma-s-1'/'uma-s-1p1' to the 'ase' software.
- yaml.py: implement parse_irc_traj and parse_1d_scan_coords so UMA IRC/scan outputs
  round-trip.

Rotor scans run through ARC's directed_scan (constrained opt), already supported by the
ASE adapter. fairchem/Sella-IRC API points only confirmable inside uma_env are marked
with # VERIFY. Adds env-independent unit tests (routing, calculator/settings resolution,
input writing, sp warning, output round-trip) plus skip-guarded model tests.
@alongd alongd requested a review from Copilot June 7, 2026 17:34
@alongd alongd review requested due to automatic review settings June 7, 2026 17:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants