inSTREAM

This page provides release notes and downloads for the individual-based stream trout research and environmental assessment model. The primary current version is 4.2a. Versions 4.3a and 4.4a are identical to 4.2a except for supporting alternative approaches for modeling hydraulics (how cell depth and velocity vary with flow). The release notes for version 4.2 also apply to 4.3 and 4.4.

This work was funded in part by the National Center for Environmental Research (NCER) STAR Program, U.S. Environmental Protection Agency, under agreement RD-83088601-0 with Humboldt State University.

Release notes and downloads for inSTREAM version 4.2

Versions 4.2a, 4.3a, and 4.4a are new in June, 2007, and replace 4.2, 4.3, and 4.4. These "a" versions differ from previous ones only by implementing an extremely minor change in model formulation that reduces execution time by about one third. This change is in how the abundance of piscivorous fish affects the risk of aquatic predation. The change is documented in the model formulation report provided below. In test runs, the change caused no effect on results.

Version 4.2 is our official public release of inSTREAM. It is a major revision of model formulation and software from version 2, and includes a few key changes in formulation from the previous, unofficial, public release version 4.1.

Potential users interested in assistance or training are encouraged to contact Steve Railsback or Rollie Lamberson (see the "Who we are" page on this site).

Note that running inSTREAM on any computer requires installation of Version 2.2 of the Swarm simulation platform. Swarm is available for Windows, MacIntosh, and Unix-based operating systems; see http://www.swarm.org.

Important notes for Linux/Unix/MacIntosh users:

  1. Our software and example input is provided in Windows-formatted files; Linux or Unix users will need to convert files to Unix format (using dos2unix), except as noted below. Failing to convert input files to Unix format will cause inSTREAM to crash: perhaps with an error statement but perhaps with only a “Segmentation fault” error.
  2. Many new installations of Linux/Unix/MacIntosh operating systems include a new version of the gcc compiler, which must be used to compile the inSTREAM software. Unfortunately, the new versions of gcc (gcc 4.0.0 and higher) are incompatible with the normal distribution versions of our software. (To determine which version of gcc you have, enter the command “gcc -v” in your terminal window.) To overcome this incompatibility, users of versions 4 and higher of gcc need to use a special version of our software, provided below. This special version implements the model identically, but has weaker error protection features, so it is not recommended if not required (specifically, it does not protect fish parameters from being altered during model execution, which we believe is highly unlikely to be a problem). In general we do not have as much experience using and testing inSTREAM in gcc versions 4.x and higher.
  3. In some Linux releases, the “TimeManager” class we use to keep track of dates does not work for dates before 1 January 1970. This is an operating system issue we cannot work around.

The release includes the following files.

Release notes and downloads for inSTREAM version 4.3

Version 4.3 (also known as inSTREAM-2D) is a modification of inSTREAM 4.2 to accept hydraulic simulation input from a two-dimensional hydrodynamic model. This modification required extensive changes; habitat cells are no longer rectangular but are irregular 3- or 4-sided polygons that represent the site’s actual shape. Multiple stream reaches are not supported. Fish behavior is not changed from version 4.2. This version was supported by the US Forest Service, Pacific Southwest Research Station.

Version 4.3 downloads are:

Release notes and downloads for inSTREAM version 4.4

Version 4.4 differs from v. 4.2 only in the format of the hydraulic input data files: instead of importing hydraulic simulation files generated by the RHABSIM river modeling package, version 4.4 uses a generic lookup table format. This version was developed to support the work of Butcher and Parrish (see the Publications and Products page), who simulated site hydraulics using their own MatLab code.

The differences between v. 4.4 and v. 4.2 are documented only in the “ReadMe.txt” file included with the v. 4.4 code. The code is here: inSTREAM_4.4a.tgz.

Versions for gcc 4.x and higher

The following code archives are for users while need to compile inSTREAM with versions 4.0.0 or higher of the gcc compiler (as discussed above). These are designated as versions 4.2.1, 4.3.1, and 4.4.1 of inSTREAM. The files in these archives are in Unix format.

We have compared results between inSTREAM version 4.2 compiled with gcc 3.3.3 and executed in Windows (the standard Windows distribution of Swarm) and inSTREAM 4.2.1 compiled with gcc 4.0.0 in Linux. Results were not completely identical: after about 9 simulated months, small differences in fish size and then mortality appeared. These differences grew (e.g., via effects of spawner size on number of eggs) to substantial differences in population summary statistics. These appear to be caused by small numerical differences similar to roundoff error although we have not investigated fully. We are not sure whether the differences result from the difference in compilers or operating systems; however, versions 4.2 and 4.2.1 of inSTREAM did produce identical results when both compiled and executed on Windows with gcc 3.3.3.

Compiling these versions with gcc 4+ will produce extensive warning statements even when it successfully produces an executable file.


We have also archived some very large files that document extensive tests of the software. These are available upon request.

Page updated: 19 June 2007


Click here to return to the
inSTREAM overview page.