NWChem is the DOE laboratory's open source quantum chemistry code
NWChem: Open Source High-Performance Computational Chemistry
At a glance
- What is it?
- NWChem is a high performance computational chemistry package developed by a consortium and maintained by the Environmental Molecular Sciences Laboratory at Pacific Northwest National Laboratory, with release tarballs, a Docker image, Homebrew and conda packages and two decades of release notes in the tree. It is a research code with a research institution's support model, and the 7.x line is where the current work happens.
- Who is it for?
- Adopt NWChem if your work is electronic structure, density functional theory or molecular simulation and you want a code with decades of development behind it and the HPC pathways that come with a national laboratory maintaining it. Skip it if you need a small program that installs in a minute, because the build is a Fortran and C project with MPI and BLAS expectations, and skip it if you need a modern scripting interface over the top, since the interface is input decks.
- Can I use it commercially?
- Check first. The repository uses a licence we do not classify automatically, so read its LICENSE file before any commercial use.
- Is it still maintained?
- Yes. The repository last received commits 15 days ago.
- What is it written in?
- Mainly Fortran, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 22, 2026, and from our analysis. They are not legal advice.
Editorial analysis
A code maintained inside a national laboratory
NWChem is described as open source high performance computational chemistry, and the interesting sentence is the second one. It is actively developed by a consortium of developers and maintained by the Environmental Molecular Sciences Laboratory, a US DOE Office of Science User Facility located at the Pacific Northwest National Laboratory in Washington State. That institutional placement is the most durable fact about the project and it explains several things the repository shows. A user facility is measured by the science its users get done, so the code grows features along the direction of computational chemistry research rather than along the direction of a product roadmap. It also explains the distribution channels, with the badges in the README pointing at Homebrew installs, conda-forge downloads and a Docker image, since a facility has to make its code installable on machines it does not control. The topics attached to the repository are the vocabulary of that field, density functional theory, electronic structure calculations, Hartree-Fock, molecular simulation, parallel computing and quantum chemistry, and the example directories in the tree match, with md, qmd, pspw, rimp2, dirdyvtst and tcepolar covering the standard method families.
Where the source lives and how releases are cut
The source download instructions in the README come in two flavours, and the difference matters for reproducibility. For developers there is the master branch, cloned with a plain git clone of the repository URL. For a specific release there is a branch checkout with the hotfix/release-7-3-0 branch and a target directory named for the version.
git clone -b hotfix/release-7-3-0 https://github.com/nwchemgit/nwchem.git nwchem-7.3.1The release artefacts are prebuilt tarballs, and the naming distinguishes two builds of the same version, one for a source-only build and one for a non-source-only build, with the revision hash and the build date baked into the file name.
The revision hash and the date are baked into the filename, which is the sort of care that matters when a calculation has to be reproduced a year later. Release notes live in the repository as markdown files, one per version, and the root directory carries a long run of them from release.notes.3.2.1 through release.notes.7.3.1.md, which is a usable changelog history without leaving the source tree.
Reading the build documentation before you compile
The top level has two installation documents and the distinction between them is the first thing to sort out. There is INSTALL and there is INSTALL.binbuilds, alongside a QA/ directory, a travis/ directory and a build directory under contrib/. The implication is that NWChem offers more than one route to a working binary, and the two documents describe different ones. The presence of INSTALL.binbuilds alongside the release tarballs suggests the binary build path is supported as a first class route, which matters for a code that is Fortran with C components and a parallel layer, because a from-source build needs a compiler toolchain, a BLAS and an MPI implementation, and getting all three right on an HPC cluster is where most of the time goes. The repository also keeps a QA/ directory and travis/ configuration, so there is a continuous integration story, and the README carries a GitHub Actions workflow badge for NWChem_CI, with older Travis badges commented out in the markup, which shows the migration from one CI system to another happened in the file rather than being papered over.
A container for the case where you cannot build
The badges in the README also point at a Docker image, named nwchemorg/nwchem-700.fedora.sockets, and the image name is a design statement. The 700 refers to a Fedora base generation, and sockets in the name points at the parallel transport configuration, so the published container is built around a specific MPI stack rather than a generic one. For a user without an HPC allocation, that container is the difference between running a calculation this afternoon and not running it. It is also the clearest signal about the shape of the software. NWChem is a batch program driven by input decks, with parallel performance being the point of the exercise, so the distribution story is about getting a tuned build onto a cluster rather than about a library that slots into an application. The documentation site lives at nwchemgit.github.io, and the repository carries a web/ directory, so the documentation and the code are developed together rather than the docs being a separate deliverable.
Version 7.x is the current line and the notes are public
The release history shows a project on a steady multi-year cadence. v7.2.3 came out in August 2024, v7.3.0 in October 2025 and v7.3.1 in November 2025, and the last push to the repository was on 2026-10-08. So the code is being worked on now, and the published versions move at a pace that suggests a laboratory managing a community rather than a company shipping features. The README badge points at the 7.3.1 release and the release notes are linked directly from the repository, which removes the usual excuse for not reading them. For an adopter, the practical reading is that NWChem is not a project that will disappear, and it is also not a project that will move quickly. The comparison with a commercial quantum chemistry suite is instructive on one point. NWChem is free and open, with the entire source available and a Docker image for the impatient, and the trade is that you assemble the toolchain yourself: the compiler, the math libraries, the message passing layer and the configuration of the input deck. That assembly step is where a commercial product earns its price, and it is also where a group with its own HPC support gets the most out of a code like this.
The licence is ECL and the support model is a user facility
The licence badge in the README reads ECL2, pointing at a LICENSE file in the root of the repository, and the repository is filed under a custom licence that GitHub cannot classify against its standard list. The Educational Community License is a permissive, source-available licence that was written for exactly this kind of scientific software, and the LICENSE.TXT file in the root is where the specifics live. Because it is a custom rather than a standard identifier, the right thing to do is read that file rather than assume the terms of Apache or MIT. The same caution applies to the support model. Maintenance by a DOE Office of Science User Facility is a strong signal about longevity and a weak one about responsiveness, because a user facility exists to serve the science community rather than to answer tickets, and the project itself is developed by a consortium rather than by the laboratory alone. Anyone planning to depend on NWChem for a production pipeline should assume the code will keep being maintained and that questions about a specific calculation are best directed at the community channels and the documentation site rather than at a support desk.
Editorial conclusion
Adopt NWChem if your work is electronic structure, density functional theory or molecular simulation and you want a code with decades of development behind it and the HPC pathways that come with a national laboratory maintaining it. Skip it if you need a small program that installs in a minute, because the build is a Fortran and C project with MPI and BLAS expectations, and skip it if you need a modern scripting interface over the top, since the interface is input decks. Before you build, read INSTALL and INSTALL.binbuilds, because the source build and the binary build paths are separate documents, and pin the 7.3.1 release tarballs rather than tracking master if you need reproducible results.
Frequently asked questions
Who develops and maintains NWChem?
NWChem is actively developed by a consortium of developers and maintained by the Environmental Molecular Sciences Laboratory, a US DOE Office of Science User Facility located at the Pacific Northwest National Laboratory in Washington State. The project is distributed under a custom licence, with the badge in the README reading ECL2 and the text in the LICENSE file in the repository root.
How do I download the NWChem 7.3.1 release?
Two prebuilt tarballs are published, one srconly and one nonsrconly, named nwchem-7.3.1-release.revision-23c3b41b with the build date baked in, and the release notes are the release.notes.7.3.1.md file in the repository. For a development build you clone the master branch instead.
What does the NWChem Docker image provide?
The README points at a Docker image named nwchemorg/nwchem-700.fedora.sockets, which is built on a Fedora 700 generation and configured around sockets, a specific parallel transport setup. It is the shortest route to running a calculation on a machine without an HPC allocation, since a source build needs a compiler, BLAS and an MPI implementation.
How often is NWChem released?
The recent versions are v7.2.3 from 2024-08-28, v7.3.0 from 2025-10-25 and v7.3.1 from 2025-11-06, with the last push to the repository on 2026-10-08. The root directory carries release notes files for every version back to 3.2.1.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/nwchemgit-nwchem)Was this useful?