CME Scientific Software
From SCECpedia
Jump to navigationJump to search
Workflow Program Requirements
We recommend the following programming standards for CME scientific software. These standards help make the codes interoperate.
- For programs to be hosted as components in workflows, we ask scientists to prepare their code this way.
- The code should return an exit code when it runs. It should return only two values: Successful return = 0 - Error exit return = 1
- For each code, the number of input and output files must be known and should always be the same whenever the program is run.
- There should be no compiled in references to programs, pathnames, or files names in the code. It is okay to set default values for filenames, however, it should be possible for users of the code to overwrite any default file names if necessary using command line parameters.
- If the code references any other executables, the program should accept a command line parameter to a directory where the executable can be found.
- The code should accept command line parameters to any input files names and not assume that the input file it uses is referred to by a particular name.
- The code should accept command line parameters to any output files so we can assign the name to the output file and output directory.
- If the code requires any environment variables, the program should verify that they are successful read or exit with an error.