The program automatically creates and manages many different files, all of which are stored in the project directory. A project directory is automatically created in the file system when a new project is created. Even though multiple projects can be stored in the same directory, it is recommended that each project be stored in a separate directory. Separate directories improve file system organization and facilitate archiving by external backup software.

Files Generated by the Program

Each data set or class of data sets is stored in a separate file in the project directory. The names used for components or data sets are automatically converted to filenames for the files. Underscores are substituted for special characters not allowed by the operating system. For example, a basin model named North Branch would be stored in the file North_Branch.basin. A complete list of files used by the program is shown in the table below. A majority of the files are in ASCII format but the user should never need to look at the files. Management should always be performed using program commands in the graphical user interface since some information is stored in multiple files. The program may not operate correctly when files are unsynchronized because of external management operations.

Files created by the program for storing component data. Sample names have been used assuming a project named Castro, that contains a basin model named North Branch, a meteorologic model named Historic Calib, and a control specifications named Oct 1977. It is also assumed that all features of the program are used including an optimization trial named Est Baseflow, and a saved state named Mid Oct 77.

Filename

Description

Castro.access

Control file; contains no data.

Castro.dsc

Catalog of the project DSS file to speed finding specific records.

Castro.dss

Project DSS file containing manual entry time-series gages and paired data.

Castro.gage

List of all time-series gages.

Castro.grid

List of all grid data.

Castro.hms

Project definition including lists of basin models, meteorologic models, and control specifications.

Castro.log

All messages are recorded in the log file except for messages generated during a compute. Each compute component has its own log file.

Castro.nals

List of all depth-area analyses.

Castro.out

List of all data read or written from DSS files.

Castro.pdata

Listing of all paired data.

Castro.regn

List of grid regions.

Castro.run

List of simulation runs with their properties and the time of last compute.

North_Branch.basin

Configuration for element properties, channel network, zones, and map layers. One per basin.

Historic_Calib.met

Configuration for precipitation, evapotranspiration, and snowmelt data. One per meteorologic model.

Oct_1977.control

Configuration for start time, end time, and time interval. One per control specifications.

Castro.trial

List of all the optimization trials.

Est_Baseflow.optim

Optimization trial properties including search method, objective function, and parameters.

Castro.fcstList

list of all forecast alternatives.

DryStart.forecast

Forecast alternatives properties including start and end times, blending controls, and parameter adjustments. One per forecast alternative.

Summer.mca

Uncertainty analysis properties including start and end times, and parameter sampling.

Castro.stateIndex

List of all the saved states.

Mid_Oct_77.state

Saved state information for all the hydrologic elements in a specific basin model.

Files Specified by the User

Files that are not automatically created and managed by the program can be added to the project directory by the user. Optional background map files can be added and used in basin models. The grid cell file required by the ModClark gridded transform method must be created external to the program. These optional and required files can be stored at any location on the computer file system, but it is often convenient to store them in the project directory. Additional supplementary files, related to the project but not used by the program, can also be placed in the project directory and will be ignored. However, when a project is copied, only files used by the program will be copied.

Manually Entered Time-Series and Paired Data

The project DSS file stores all time-series and paired data that is manually entered by the user. The data entered by the user is automatically stored as a record in the file. When the data is edited the record is automatically updated. The record is automatically updated if the time-series gage or paired data function is renamed, copied, or deleted. The record can be accessed by other programs that can read and write in the DSS format.


Each DSS record contains only one type of data. Information about the data is stored in a header inside the record. The header for time-series data includes the record name, whether the data is on a regular or irregular time interval, start date and time, end date and time, number of values, measurement units, and data type. The header for paired data includes the record name, number of curves, measurement units of the first series, data type of the first series, measurement units of the second and subsequent series, and data type of the second and subsequent series.

Computed Results

By default, all computed results are stored in the simulation DSS file. However, the user has the option of changing the file where computed results are stored. Any manually entered time-series or paired data will continue to be stored in the project DSS file regardless of the file used for computed results. If the computed results are stored in a different file, that file can be safely deleted without affecting the program. However, it is not possible to view results after deleting the file where they are stored.


The result from each element is stored in a separate record. Some elements compute different types of results; each result is stored in a separate record. The record is identified with a pathname. Each record pathname contains six parts called the A-part, B-part, C-part, D-part, E-part, and F-part. The pathname parts are separated with a slash and may contain spaces. The complete pathname, including slashes and spaces, can total up to 256 uppercase characters. The following is an example of a pathname for the computed flow at a hydrologic element named "Sand Cr" in simulation run "Plan 3A":


//SAND CR/FLOW/01JAN1985/1HOUR/RUN:PLAN 3A/


A consistent naming convention is used for assigning the different pathname parts of the computation results (HEC, 1994). The B-part is assigned the name of the element in the basin model. The C-part is assigned a data descriptor as described in Appendix A. The D-part is assigned the simulation start date. The E-part is assigned the simulation time interval. The F-part begins with a three-letter code that identifies the type of computed result, followed by a colon and the name of the compute component.

External Time-Series, Paired, and Grid Data

Any time-series or paired data that is not manually entered must be stored in an external DSS file. Grid data cannot be manually entered and so must be stored in an external DSS file. External DSS files are all DSS files used in a project except the project DSS file which was created to store model data. The external files can store regular or irregular interval time-series data, paired data, or grid data. They can be located anywhere on the computer or network and shared with other programs. This program automatically determines the data type, units, and interval from the record header.

Security Limitations

The program can create a project on the local computer or on any accessible network device. Creating a project requires the user to have read and write permission for the folder that will contain the new project. Usually the system administrator determines where a user has permission to read and write. Depending on the security settings assigned to the user by the system administrator, the program may not be able to create a project in some folders. As a user, be sure you understand where you have permission to create new projects. No other privileges beyond read and write permission are required to use the program; it is fully compatible with operating in a so-called reduced privilege environment.


The program automatically checks all of the project files for read and write permission every time the project is opened. If any of the files are read-only, then the program will not be able to open the project and an error message will be displayed. If a project was previously accessible but becomes inaccessible, it is possible that the file permissions were changed external to the program. It is also possible for the files to have read-only permission if they are copied from a CD-ROM or other removable storage media. If the files have been set to read-only permission for any reason, you will need to manually change the permissions on the files before the program can open the project. If you are using the Microsoft Windows® operating system, you can change file permissions using Windows Explorer. On the Linux® operating systems, you can open a command window and use the chmod command.


The program is designed to work with projects that may be shared by several users. Usually shared projects will be stored on a server or network storage device, but could be stored in a shared folder on a local computer. All users who will share the project must have read and write permission for that folder. Even though several users may share the project, only one user can access the project at a time. The program automatically tracks how many users are accessing a project and limits access as necessary.