Requirements in Design
The initial requirements for the latest version of NWSRFS were developed from extensive interactions between designers in the Office of Hydrology (OH) and the RFCs.
Scientific algorithms were designed to be independent of any specific computer system, and were coded by OH and RFC hydrologists who were intimately familiar with the physics of the processes being modeled.
Specifications for data access and command decoding routines were develped by OH and RFC staff, and were coded by software programmers.
The functional requirements which guided the latest design of NWSRFS were to:
allow for a variety of models and procedures
let the user control selection of models and sequence of use
easily add new models and procedures to keep up with technological changes
efficiently process large amounts of data to produce forecasts at hundreds of locations for each RFC
allow user flexibly to control real-time processing
NWSRFS has been designed to be modular, so that components could be developed by a number of individuals and then combined into a total system.
References in the program code to system-specific routines were isolated so that the entire NWSRFS could be ported from one hardware/operating system platform to another with minimum effort.
Routines which performed scientific algorithms were separated from input/output routines so that the science could be run on any computer without needing changes in the reading or writing of information from the computer system.
Scientific algorithms were organized into modular functions so that the functions could be shared, unchanged, among major components of the NWSRFS.