NCO High Performance Computing (HPC) Implementation Standards
The HPC Implementation Standards outline policies and technical standards that must be met in order to implement operational code or numerical models in the production suite running on the Weather & Climate Operational Supercomputing System (WCOSS) and maintained by NCEP Central Operations (NCO). The coding standards, examples of operational-quality scripts and code, and best practices presented have been established to enable operational stability, efficient troubleshooting and improved environmental equivalence.
Implementation Standards version 11.0.0
Release Date: January 19, 2022
Updates for WCOSS2
Implementation Standards version 10.2
Release Date: April 17, 2019
- Clarify job, jobid and DCOM definitions in Table 1
- Addition of subcyc variable in Table 1
- Updated all references to jlogfile. The centralized jlogfile no longer exists
- Clarify usage of
cpfs
utility
- Updated
setpdy.sh
description to reflect latest directory structure
- Clarified requirement for restart capability
- Added requirement to run MPMD child processes in separate sub-directories from the main working directory
- Updated language for use of data of opportunity
- Removed references to
check_libs.sh
and check_incs.sh
as these scripts are no longer maintained
- Rewrite of FORTRAN Logical Unit Number standard to be more flexible but the goal of the standard, which is to avoid hard-coded directory paths and filnames in source code, remains unchanged
- Added a standard for code readability
- Modified definition of PS4 to improve readability of standard out
- Various modifications to come in line with Environment Equivalence (EE2) standards, including:
- Output must be written only to packages com, nwges or DATA structures
- Remove all references to pcom - replaced by wmo sub-directory under com
- Remove com-nawips directory - replaced by gempak sub-directory under com
- Makefile targets must include all of the following: all, debug, install and clean
- Shared packages must be backward compatible
- Added standard for restricted data permissions
- Added standard to eliminate false errors in the output, including syntax errors and other common errors like No such file or directory
- Added section about resolving bugzilla reports before code delivery
- Added standard to have primary and backup support contact for every application
- Updated all examples and tables to reflect new standards
Implementation Standards version 10.1
Release Date: March 17, 2016
- Added module_ver variable to the Standard Environment Variables table.
- On the Cray XC40 systems, the prod_envir module is used to set production path variables. On Phase 1 & 2, symbolic links at the root level are available to production path directories.
setpdy.sh
description updated to include ability to specify the number of dates desired.
- Introduced new
compath.py
, mail.py
, and getsystem.pl
utilities.
- Updated the job card, J-job, ex-script, build script, modulefile, and makefile examples to use the
compath.py
and mail.py
utilities and to reflect changes for the Cray XC40 systems.
- The default versions (and higher) of the Intel and Cray compilers installed on the Cray XC40 systems are allowed in production on the new systems.
- Production-approved libraries on the Cray XC40 systems are in /usrx/local/prod/ and /gpfs/hps/nco/ops/nwprod/lib/.
- Removed the envir.h example and moved the variable definitions it contained into the job card example.
- Added an example version file (Example 5), an example run of the "module display prod_envir" command (Example 7), and an example build readme file (Example 10).
- Removed requirement to wrap all copies to com, nwges, and pcom in a check for
$SENDCOM
. It is now optional.
Implementation Standards version 10.0
Release Date: May 13, 2015
- Updated for the WCOSS Phase 2 system.
- Introduced a table of Standard Environment Variables and where they should be set in the production workflow.
- Production utilities are accessed via the prod_util module instead of the
setup.sh
script. This module adds the utilities to the user's $PATH
.
- Introduced the requirement to use modules to access GRIB utilities and NCEP production libraries.
- Added a section on File Name Conventions for files sent to com and pcom.
Implementation Standards version 9.2
Release Date: March 6, 2013
Implementation Standards version 9.1
Release Date: November 19, 2012
- Updated for the WCOSS Phase 1 system.
Implementation Standards version 8.0
Release Date: March 28, 2012
Implementation Standards version 6.0
Release Date: June 26, 2009
Page last modified: 30 January 2025.