README.TXT HSPEXP Expert System for Calibration of HSPF Version 2.4 2002/06/26 Instructions for installation, execution, and testing are provided below. After installation, see hspexp.txt in the doc subdirectory for summary information on HSPEXP. For assistance, enhancement requests, or to report bugs, contact the Hydrologic Analysis Software Support Program by sending e-mail to h2osoft@usgs.gov. TABLE OF CONTENTS A. DISTRIBUTION FILES B. DOCUMENTATION C. EXTRACTING FILES D. COMPILING (optional) E. INSTALLING F. RUNNING THE PROGRAM G. TESTING H. CONTACTS A. DISTRIBUTION FILES The following distribution packages (containing the software, test data sets, and information files) are currently available for UNIX systems: hspexp2.4.source.tar.gz - Source code only hspexp2.4.Solaris.tar.gz - Compiled for Sun UltraSPARC-II under Solaris 2.6 NOTE: These distributions of HSPEXP use the libraries libhsp and libanne. libhsp contains the majority of the HSPF source code. libanne contains the wdm routines and utilities. The source code for these libraries can be found at http://water.usgs.gov/software/. B. DOCUMENTATION Lumb, A.M., McCammon, R.B, and Kittle, J.L., Jr., 1994, Users manual for an expert system (HSPEXP) for calibration of the hyrdological simulation program--Fortran: U.S. Geological Survey Water-Resources Investigations Report 94-4168, 102 p. This document is available in electronic format. A Portable Document Format (PDF) version is included in the doc subdirectory of the HSPEXP program distribution. This and other formats can also be found at http://water.usgs.gov/software/hspexp.html. Bicknell, B.R., Imhoff, J.C., Kittle, J.L., Jr., Donigian, A.S., Jr., and Johanson, R.C., 1997, Hydrological Simulation Program--Fortran: User's manual for version 11: U.S. Environmental Protection Agency, National Exposure Research Laboratory, Athens, Ga., EPA/600/R-97/080, 755 p. This document is available in electronic format. A Microsoft Windows help file can be found at http://water.usgs.gov/software/hspf.html. C. EXTRACTING FILES Compressed tar files are used to distribute the source code and versions of the software compiled for selected UNIX operating systems. All of the files needed to install and test the program are contained in the file hspexp2.4.OS.tar.gz (where OS is a string indicating the intended operating system.) If there is not a tar file for your operating system or you want to compile the software, the source version of the tar file contains all of the files needed to compile and install the program on a UNIX-based computer. For all of these distributions, the directory hspexp2.4 is created (or overwritten) when the files are extracted from the tar file; if this directory already exists, you may want to delete or rename it before extracting the files. Follow the steps below to extract the files from a distribution tar file. The software is configured for installation under /usr/opt/wrdapp. The wrdapp directory may be a separate file system mounted at /usr/opt/wrdapp. If you choose to install the software elsewhere, you will need to retrieve the source version of the tar file and compile the software. Steps in extracting files explanation ---------------------------------------- ----------------------------------- mv hspexp2.4.____.tar.gz /usr/opt/wrdapp If the tar file is not already in the directory where you want the distribution installed, move it there. cd /usr/opt/wrdapp If you are not in the directory where the tar file is located, go there. gunzip hspexp2.4.____.tar.gz Uncompress the distribution file. tar -xvpof hspexp2.4.____.tar Extract the distribution files from the tar file. This creates the following directory structure (the contents of each directory are shown to the right): hspexp2.3 files NOTICE.TXT, RELEASE.TXT, and this README.TXT `-----bin compiled executable `-----bin_data message file required during program execution `-----doc documentation files (see file Contents.txt) `-----src Makefile (and, with source tar, the source code) `-----msg (with source tar, script & file to build message file) `-----test scripts to run verification tests `-----data standard data sets used in verification tests `--huntday files specific to daily time step (test 1) `--hunthour files specific to hourly time step (test 2) Notes: a) The bin and bin_data subdirectories are not included in the source distribution; they are created during compilation. b) Source code is included only with the source distribution. c) It is recommended that no user files be kept in the program directory structure. If you plan to put files in the program directory structure, do so only by creating subdirectories. d) To compile a new version of the software, you will also need: (1) libraries and other data files from libhsp (version 11.1, available from http://water.usgs.gov/software/libhsp.html) and libanne (version 4.0, or later, available from http://water.usgs.gov/software/libanne.html), (2) a Fortran compiler (77 or later), and (3) a Graphical Kernel System (GKS) library. D. COMPILING (optional) If you have retrieved a pre-compiled distribution of the software, skip to the Installing section below. If a compiled version of the software is not available for your computer or you want to build the executable yourself, follow the instructions in this section. The source distribution is provided for those users who want the source code. Little or no support can be provided for users generating their own versions of the software. In general, to compile a new version of the software, you will need: a) a Fortran compiler (77 or later), b) a minimal level of knowledge of Make, the compiler, and the UNIX operating system, c) libraries and other data files from the libanne distribution (version 4.0 or later, available from http://water.usgs.gov/software/libanne.html), and d) libraries and other data files from the libhsp distribution (version 11.1, available from http://water.usgs.gov/software/libhsp.html). e) a Graphical Kernel System (GKS) library; GKS libraries available without fee include Gli/gks (available from http://iff001.iff.kfa-juelich.de/gli/) and xgks (available as the file ftp://unidata.ucar.edu/pub/xgks/xgks-2.5.5.tar.Z). As provided in the source distribution, the software is set up to be compiled under Solaris in the /usr/opt/wrdapp directory. A small number of changes may be needed to compile on other UNIX platforms or in another directory. Additional changes will be required to compile on a PC or other non-UNIX platform. The versions.txt file found in the doc subdirectory identifies items that may need to be changed. To generate a new executable and message file, do the following: 1. The values for the indicated variables in the following files may need to be modified (see versions.txt in the doc subdirectory for more details): may need to be modified ------------------------------- version compiler file name variables flags name library --------------------- --------- ----------- ------- src/Makefile WrdA FFLAGS F77 LGks LibH LibA FFVrsn Strip LdA LdB LdC fhsxms.inc WDNAME msg/wdimex.sh WrdA LibH LibA test/test.sh WrdA HspE Anne Gks 2. Run make in the src directory to compile the source and build the message file. cd hspexp2.4/src make make will: a. create the subdirectories bin and bin_data, if they do not already exist, b. compile the source code, c. place the program executable in the bin subdirectory, d. run the wdimex.sh script found in the msg subdirectory to build the message file (hspexp.wdm); the file is placed in bin_data, and e. run the wdimex.sh script in the msg subdirectory to build the daily and hourly hunting.wdm files; the files are placed in the huntday and hunthour (respectively) subdirectories under data. E. INSTALLING To make the program easy to use, a link to the executable should be placed in a directory that is included in each user's search path. Run make in the src subdirectory to create the link: make install BINDIR=directory_for_links A link to the executable will be placed in the directory assigned to BINDIR. For example, if each user's search path consists of /usr/bin:/usr/opt/bin:/usr/local/bin using the command make install BINDIR=/usr/local/bin will make the program accessible from any directory without requiring the full pathname of the executable. Note that to create and delete links to the executable, the installer must have sufficient rights to the BINDIR directory. This program uses the GLIGKS graphics library, V4.5.24, to generate graphics. You do not need to install the GLIGKS graphics library on your computer to use this pre-compiled distribution. You do need the GLIGKS file gksfont.dat; the bin_data subdirectory of this distribution contains a copy of the file. The program expects to find the file in the /usr/local/lib directory, but, you can install it elsewhere. If you do not already have gksfont.dat installed: o For the standard installation, copy the file to /usr/local/lib, from the bin_data directory of this distribtution: cp -p gksfont.dat /usr/local/lib (note that you may need system administrator rights) o If you install the file elsewhere, you will need to tell GLIGKS about the new font path: setenv GLI_HOME path or export GLI_HOME=path (Note that each user of the software will need to set the path for GLI_HOME.) F. RUNNING THE PROGRAM If the program has been installed in a directory included in the users' PATH (as described above), the program can be executed with the command "hspexp". Otherwise, the full pathname of the executable will need to be typed. See the user's manual for details of preparing the required input files. G. TESTING Test data sets are provided to verify that the program is correctly installed and running on the system. The tests may also be looked at as examples of how to use the program. The test subdirectory contains the scripts to run the tests. The data subdirectory contains the input data and the expected results for each test. Tests are usually run in the test subdirectory, but they can be run in any user directory. Do NOT run the tests in the data subdirectory. Type the following commands to test the program installation. [path]/test.sh [start [stop]] where: path = path to the script use "." if running the tests in the test directory, use full pathname if running in a directory other than test; do _NOT_ run the test in the data directory. start = the number of the first test to perform, default = 1 stop = the number of the last test to perform, default = 2 For example: command what happens -------------------------------------- -------------------------------- ./test.sh runs all of the tests ./test.sh 1 1 runs the first test ./test.sh 2 runs test 2 /usr/opt/wrdapp/hspexp2.4/test/test.sh runs all of the tests After the tests are completed, the results are compared to the expected results (found in the data subdirectory). See the file check.log to verify the tests produced the expected results. Expect to find the following differences: a) The standard data sets were created on a Sun UltraSPARC-II system. You may notice slight numeric differences in the results on other computers. These are generally due to different round-off algorithms and the different architecture of the central processing unit chip. Slight differences in output formats may occur on other computers, particularly for the value 0.0. b) Each data set in an archive file (.exp) will contain the attributes DATCRE and DATMOD, the dates the data set was created and last modified, respectively. c) Graphics output files (.ps and .cgm) contain the date the file was generated. d) If a graphics library other than GliGks is used, there will probably be significant differences in the graphics output files (.ps and .cgm); they should still produce the same images. To clean up after the tests, type the command: [path]/clean.sh where path is as described above. The tests are described in the table below, where 'test' is the test number, 'program' is the program used to run the test, and the 'usage' column indicates how a file is used, with i for input, o for output, and i/o for both input and output. Notes: a) If the implementation of GKS being used does not support output files, the .ps and .cgm files will not be generated. b) Tests 1.a, 2.a, 1.c, and 2.c require the annie program (version 4.0 or later). c) Tests 1 and 2 are independent. test program description of test and files file name(s) & usage ---- ------- --------------------------------- -------------------------- 1.a annie build daily wdm file (if data/huntday/hunting.wdm exists, it will be used) annie command file testa.log i annie archive file huntday/hunting.exp i hunting daily wdm file hunting.wdm o error file test1.era o 1.b hspexp daily simulation hspexp command file test1.log i hunting daily wdm file hunting.wdm m hspf uci file [hunting/test1].uci m hspexp file [hunting/test1].exs m hspexp plot options [hunting/test1].plt m echo of input uci [hunting/test1].ech o simulation results [hunting/test1].out o calibration advice test1.ot1 o statistics test1.ot2 o Daily plot test1.ps o Daily plot test1.cgm o error file test1.err o 1.c annie export simulated time series annie command file testc.log i hunting daily wdm file hunting.wdm i export file test1.exp o error file test1.erc o 2.a annie build daily wdm file (if data/huntday/hunting.wdm exists, it will be used) annie command file testa.log i annie archive file hunthour/hunting.exp i hunting hourly wdm file hunting.wdm o error file test2.era o 2.b hspexp hourly simulation hspexp command file test2.log i hunting hourly wdm file hunting.wdm m hspf uci file [hunting/test2].uci m hspexp file [hunting/test2].exs m hspexp plot options [hunting/test2].plt m echo of input uci [hunting/test2].ech o simulation results [hunting/test2].out o calibration advice test2.ot1 o statistics test2.ot2 o statistics test2.ot3 o error file test2.err o 2.c annie export simulated time series annie command file testc.log i hunting hourly wdm file hunting.wdm i export file test2.exp o error file test2.erc o H. CONTACTS Inquiries about this software distribution should be directed to: U.S. Geological Survey Hydrologic Analysis Software Support Program 437 National Center Reston, VA 20192 e-mail: h2osoft@usgs.gov