SMS:CSTORM-MS

From XMS Wiki
Revision as of 23:11, 31 October 2012 by Jcreer (talk | contribs) (→‎Create HPC scripts)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

Create HPC scripts

CSTORM-MS is a set of models organized into a system that work together to create models relative to coastal storms. Many of the models in the system are very compute intensive models and may run for long periods of time. Often it is desirable to run these models in a HPC (supercomputer) environment to take advantage of many processors. Some users may not be as familiar with the HPC environment or want a system to help regenerate scripts as needed. The 'Create HPC Scripts' tool within SMS helps users create scripts from parameters. The parameters may be changed and the scripts regenerated as necessary. The parameters can be saved with the project, exported/loaded into other projects, and stored as the default parameters for future CSTORM-MS simulations.

Platforms

Platforms are the term used for a collection of script parameters because often the scripts will be created to target a specific HPC platform. However, a user could create multiple sets of scripts for the same platform if there are different run parameters for different types of simulations. The user can create, delete, or copy the scripts from one platform to a new platform.

Programs

Each of the programs within the CSTORM-MS system has its own script within the platform. Each program has its own run requirements which are handled through SMS defined variables (see below).

Variables

Variables are used to modify the script text for export. Variables can make it easier to change a script by identifying the items that should be changed in a script and giving a description for the variable. When the script is generated, every instance of the variable within the script will be replaced with the text in the 'value' column. It is recommended but not required that variables use a naming convention similar to the SMS defined variables for easy identification.

SMS defined variables (program specific)

SMS defined variables provide information to scripts based upon simulation parameters. These parameters are specified elsewhere but may need to be incorporated into individual scripts. One example of this type of variable is the number of processors to use for ADCIRC. SMS knows how many processors ADCIRC wants to use and can automatically make this part of the script.

User defined variables (global)

User defined variables allow scripts to be generated generically and give descriptions for the script parameters needed. User defined variables are global (shared between all programs/platforms). If you wish to have a similar variable specified differently for separate programs, add the program name to your variables. For example, if PBL and ADCIRC both needed a walltime but it should be different use $PBL_WALLTIME and $ADCIRC_WALLTIME rather than $WALLTIME within your scripts.