MELCOR Home About MELCOR MELCOR H-2 Branch Report a Bug (Bugzilla) Contact Us
line
Get MELCOR

line
Downloads

line
FAQs

line

nrc

MELCOR is developed at
Sandia National Laboratories
for the
U.S. Nuclear Regulatory Commission
Frequently Asked Questions
Submit your question
Your Name:
Your Email:
Questions:
(50 words or less)
  [NOTE: This email submission will launch your email software,
  proceed with this process.]
        
Thank you!
QUESTION:
How do I get MELCOR?
ANSWER:
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 http://spot.infosyslabs.com:8080/nrccodes/how_to_obtain.html, 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.

QUESTION:
How do I report a problem with MELCOR software?
ANSWER:
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.

QUESTION:
Can I get a copy of the source code for MELCOR 1.86?
ANSWER:
We don't normally distribute source code for MELCOR 1.86. There are exceptions, however, depending on the individual case. When you fill out your request for a Non-Disclosure Agreement, indicate that you require source code and why, and your contact at the NRC will make a determination.

QUESTION:
What's the difference between MELCOR 1.86 and MELCOR 2.1?
ANSWER:
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 compiler. MELCOR 2.x is a port of the original source code to the more modern FORTRAN 95, to improve extensibility and maintainability. Most algorithms were kept intact so that the two codes are currently functionally the same. However, all future code development will be made to the MELCOR 2.x version. Aside from changes to the source code, there are significant input file changes that have to be considered when migrating from one version to the other. We are developing utilities to help you in the conversion process and will provide them to you at your request.

QUESTION:
Can I get a copy of the source code for MELCOR 2.1?
ANSWER:
Due to intellectual property issues, we will not be distributing this source code to anyone. If you have a need that requires you to insert your own algorithms into MELCOR, there may be other strategies to consider. Please contact the Code Librarian, John Reynolds, for more details.

QUESTION:
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?
ANSWER:
Please contact the Code Librarian, John Reynolds, about building an executable specific to your hardware.

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

QUESTION:
What are some things I have to remember when running MELCOR on Linux/UNIX and Windows?
ANSWER:
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.

QUESTION:
Do the MELCOR code developers adhere to any specific QA standards (e.g., NQA-1) as part of their software development work?
ANSWER:
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.

QUESTION:
Are MELCOR executables dependent on certain Windows versions or service packs, and do they require certain system DLLs to run?
ANSWER:
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.

line
GALLERY | TECHNICAL REVIEW MEETINGS | TECHNICAL LIBRARY | NEWS