MELCOR Home About MELCOR Report a Bug (Bugzilla) Contact Us Internal Links (use IE)





MELCOR is developed at
Sandia National Laboratories
for the
U.S. Nuclear Regulatory Commission
Frequently Asked Questions
Submit your question
Your Name:
Your Email:
(50 words or less)
  [NOTE: This email submission will launch your email software,
  proceed with this process.]
Thank you!
I've heard CONTAIN is no longer supported, but I still need it. How do I receive a copy?
CONTAIN is not listed on the NRC's code request page. If you go to that page, scroll down to the MELCOR section and select the MELCOR non-disclosure-agreement link, it shows up as a selectable code. More details and the agreement can be found at

How do I get SNAP?
The SNAP licensing process is similar to the process you went through for MELCOR, but having access to MELCOR does not automatically grant you access to SNAP. SNAP is developed for the NRC by Applied Programming Technology, Inc. Go to their website at for more details. To request a SNAP license, click on SNAP (top ribbon). At the page that loads, look to the right under the SNAP Resources heading for an "Obtaining Access" link (or just go directly to

How do I get MELCOR?
In general, the NRC allows distribution of its reactor safety codes and tools to domestic organizations (utilities, vendors, academic institutions, commercial enterprises) and international organizations located in countries that participate in the Code Applications and Maintenance Program (CAMP) or Cooperative Severe Accident Research Program (CSARP). If you are a member of CSARP, go to, scroll down to the MELCOR section and click on "non-disclosure agreement." Fax the NDA to the number indicated. You'll be given access to MELCOR as soon as we receive confirmation from the NRC that you've met the requirements.

How do I report a problem with MELCOR software?
Click the "Report a Bug (Bugzilla)" tab on the top navigation bar, login to Bugzilla, and enter a bug number or a search term. You must have a Bugzilla account to report a bug/problem with MELCOR.

Can I get a copy of the MELCOR source code?
Due to quality and intellectual property concerns, we no longer distribute the MELCOR source code. Please contact the MELCOR software development team if you have a need to extend MELCOR or change its behavior in ways that are or appear to be unsupported.

What's the difference between MELCOR 1.86 and MELCOR 2.x?
MELCOR 1.86 was originally written in FORTRAN 77. The FORTRAN language has evolved significantly since the MELCOR project began, and most platforms now support a FORTRAN 95 or later compiler. MELCOR 2.x is a port of the original source code to the more modern FORTRAN 95, to improve extensibility and maintainability. 1.x is no longer under active development, while new features continue to be added to 2.x. The SNAP software can be used for migrating your input decks between the two versions.

I have the MELCOR executables, but you didn't include a binary compatible with my system, or the binaries you included don't take advantage of my special or different hardware or operating system. What are my options?
Please contact the Code Librarian, John Reynolds, about building an executable specific to your hardware.

How do I get the H2C branch?
We are not currently distributing the H2C binaries. If this is an issue, please contact the Code Librarian, John Reynolds, for details.

What are some things I have to remember when running MELCOR on Linux/UNIX and Windows?
The things you need to consider are listed below:

Filename Case
More details follow, but our recommendation for filename case is this:
The input filename should always be uppercase, and should always be referenced as uppercase. This will allow you to avoid any problems relating to case.

Windows allows upper- and lowercase filenames, but ignores case when opening a file. In contrast with Windows, other modern systems (including Linux) support both upper- and lowercase and make a distinction between case when opening files. Some older systems that MELCOR has been run on only allow uppercase filenames.

To allow files to be opened on legacy systems that don't support lowercase filenames, MELCOR converts the filenames to uppercase by default. To avoid this behavior, put single quotes around the filenames when entered in the MELCOR input file. When single quotes are placed around filenames, case can be wrong and the file will still open on Windows. But when the input file is read on Linux, MELCOR will not be able to find the file unless the filename is exactly the same as listed in the input file (including case).

File/Directory Delimiters
Windows requires backslashes ("\") as file and directory delimiters, while the rest of the world uses forward slashes ("/"). But with MELCOR, we recommend you avoid backslashes. Your path strings will work on both systems if you use forward slashes. Using backslashes will limit your input files to Windows.

Text File Format
When transferring input files from Windows to Linux, the dos2unix utility must be run before MELCOR will be able to read them. When transferring them from Linux to Windows, the unix2dos utility must likewise be run.

MELCOR plot files (.PTF) are binary, and can be created on one platform and used on another without modification. If you run the above-listed utilities on plot files, they'll be unreadable by the PTFRead utility. But other output and diagnostic files are ASCII and require the same conversion process before they'll be readable on the other system. To avoid guesswork: Use the Dos2Unix/Unix2Dos feature provided in the Melcor Source Assistant application. It will only convert the files that need to be converted, and will leave the binary files intact.

Before running any file conversion utility, it's always wise to make a backup.

Do the MELCOR code developers adhere to any specific QA standards (e.g., NQA-1) as part of their software development work?
Over the past few years we have been improving our QA processes. MELCOR 2.1 was part of this improvement--it's a modernization and port of our decades-old Fortran 77 source base to Fortran 95. A year ago we conducted a formal Software Process Assessment and found ourselves lacking in several areas. We conducted an informal review this summer and determined that we made a lot of major improvements. We do believe there is still room for improvement, however.

Within the past 18 months we have made these improvements:
  • We added Subversion and Bugzilla to our required set of tools.
  • In the past, MELCOR only had to pass one simple test deck before release. But we have since formalized our suite, which now consists of over 170 separate input decks with new decks added frequently. We now require MELCOR to pass all of these tests before release. We wrote software to automate this process.
  • We added an automated daily build and test process. This includes the automated generation of reports.
  • We instituted (and are experimenting with) a number of metrics to measure programmer productivity and effectiveness.
  • We are able to reproduce, rebuild, debug and fix any released version of the code.
  • We added an internal MELCOR Developers Wiki site to develop and share ideas and history about debugging and testing policies, code development practices, coding conventions, lessons learned, risk management and version changes.
MELCOR development is bound by these directives:
  • Sandia CPR001.3.2, Corporate Quality Assurance Program
  • Sandia CPR001.3.6, Corporate Software Engineering Excellence
  • SAND 2006-5997, Sandia National Laboratories Advances Simulation and Computing (ASC) Software Quality Plan
  • ASME NQA-1, Quality Assurance Requirements for Nuclear Facility Applications
  • DOE O 414.1B, Quality Assurance
  • DOE G 414.1-4, Safety Software Guide
  • DOE O 414.1C, Quality Assurance
  • DOE/NNSA Weapon Quality Policy (QC-1)
  • DOE 830 Subpart B, Nuclear Safety Management
Whether we meet them in every small point, I'm not sure. But we'll continue to improve our practices as long as there is improvement to be made.

Are MELCOR executables dependent on certain Windows versions or service packs, and do they require certain system DLLs to run?
Any version of MELCOR built for Windows should work with any current Windows version, without regard to which service packs or updates are installed or active. Melcor executables are statically linked, i.e., they don't require any system DLLs. If you receive a version of MELCOR that includes DLLs, they must be present. But they won't require or depend on any Windows system DLLs unless otherwise stated.