User’s Guide for MicroFish 3.0

Demonstration Version






MicroFish 3.0 Demonstration Version is software that calculates maximum-likelihood population estimates, length statistics, and weight statistics from removal-depletion sampling data.  


This software is provided free of charge as a service to the fisheries community and may not be re-sold.




John S. “Jack” Van Deventer

P.O. Box 9909

Moscow, Idaho, USA 99165


Phone: (509) 993-0722 (Web) (E-mail)





Table of Contents -- User’s Guide for MicroFish 3.0 Demonstration Version


Introduction and Background. 3

MicroFish 3.0 Demonstration Version – Overview.. 4

Setting Up The Fish Name File: mf-fish.txt 9

Setting Up The Fish Capture Data File. 11

Entering Data: The Header Record. 11

Entering Data for Fish Capture Data Files. 12

Visual Explanation of Fish Capture Data File Formatting. 13

Fish Capture Data File – Special Case. 15

MicroFish References. 15

Support 15




I wish to express my deep appreciation to the following people who contributed to the MicroFish development and testing effort.  Without you all, it wouldn’t have been possible.  Thank you!


Technical Advisors


Jim C.



Craig C.



John H.

Sun Microsystems


Scott H.

H2 Worldwide, Web Hosting


Bob H.

New St. Andrews College


George K.

Silicon Graphics International


Donn M.



John M.

ZealKnight, Inc., Web Development




Data Consultants


Kjell C.

Economic Modeling Systems International


Henry M.

Economic Modeling Systems International


Ron J.

Silicon Valley Consulting Group






Steve B.

Operations Advisor


Joe C.

Business Advisor


Greg D.





Fisheries Advisors


Matt Kulp

National Park Service


Doug Besler 

North Carolina Wildlife Resources


Bart Carter

Tennessee Wildlife Resources Agency


Marcia Carter

U.S. Forest Service


Jim Habera

Tennessee Wildlife Resources Agency


John Odenkirk

Virginia Dept of Game and Inland Fisheries

Introduction and Background


MicroFish 3.0 Demonstration Version is software designed for fisheries biologists and resource managers for the purpose of analyzing fisheries data.  The goal of MicroFish software is to save people time and money, facilitating data analysis and generating results in an efficient, easy-to-use manner.


History of MicroFish


The first version of MicroFish was written by John S. Van Deventer in the two year period from 1983 to 1984.  Initially called the Fisheries Population and Statistical Package (FPSP), it was designed to analyze 12 years of fisheries data collected under the direction of Dr. William S. Platts of the Intermountain Forest and Range Experiment Station, a research branch of the U.S. Forest Service.  MicroFish incorporated a maximum-likelihood population estimate formula recommended by Dr. Ken Burnham, now of Colorado State University.  The software was extensively tested on the USFS data and released to the public in 1985. 


In 1986 FPSP was renamed MicroFish and was significantly upgraded.  Version 3.0 for the DOS operating system was released in 1989.  Long before Microsoft Windows, Word, or Excel, MicroFish sought to apply computing power to common fish abundance and quantification challenges faced by fisheries biologists.  Distributed through the Forest Service and the Computer Users Section of the American Fisheries Society, MicroFish was used in all 50 states, all the Canadian provinces, in Europe, Australia, and Asia. 


Work on MicroFish 3.0 Demonstration Version for Windows began in early 2004 at the prompting of Matt Kulp on behalf of the Trout Committee of the Southern Division of the American Fisheries Society.  Completed in February, 2006, MicroFish 3.0 Demonstration Version was released to the public free of charge.



Send Me Your Comments


MicroFish development has always been driven by ideas and suggestions made by friends in the fisheries community.  If you have comments, corrections, or suggested improvements, I’d welcome your feedback.  My e-mail address is  Additional contact information is on the front cover of this document.  I look forward to hearing from you.


-- Jack Van Deventer

MicroFish 3.0 Demonstration Version – Overview


Initial MicroFish screen:


All MicroFish 3.0 calculations are performed through the top menu: File, Edit, View, and Help. 


Note: some of the MicroFish 3.0 Demonstration Version options are disabled (available in the MicroFish 3.0 Basic Version only).


Quick population estimate screen:


This interactive form enables the user to view initial maximum-likelihood estimate results in the field, estimate how many electrofishing removals (passes) are necessary to achieve a desired confidence range, or perform other “what if” calculations as desired.




Data view screen:


The first (header) record in the user’s data set appears in the white text box in the upper left. 


The data table on the right is the user’s data as it appears after having been read into MicroFish 3.0. A table lookup in the next-to-last column identifies the fish species name.  The “Data Check” field on the right scans each record for errors. 


Output Options (in the gray area on the left) indicate statistics available through MicroFish 3.0.  The results of selecting these options are on the following pages.


Fisheries results screen (1):


In this example, the user’s selection of “Total Catch” changes the Data View into a Results View.  The table at the bottom details the results being displayed graphically. 


The colors in each chart correspond to species found in the data set. 

Fisheries results screen (2):


In the case of “population estimate” and “removal pattern” certain cells in the results table may be flagged to indicate a maximum-likelihood population estimate was not possible.  The reason(s) are indicated by placing the mouse pointer over the results table. 

MicroFish 3.0 requires two data sets: (1) a fish name file called mf-fish.txt, which lists species abbreviations and full names and (2) fish sampling data.


Setting Up The Fish Name File: mf-fish.txt


Purpose.  The purpose of the fish name file (mf-fish.txt) is to simply convert fish abbreviations (or numeric codes) in the fish capture data file into meaningful species names.  Many biologists use abbreviations as shorthand to speed the data entry process.  This file merely converts the abbreviations in the fish capture data to full names in the MicroFish output.


Location.  The fish name file, mf-fish.txt, is a required data file that must reside in the same folder as the MicroFish executable files.  If you installed MicroFish to the default folder, the mf‑fish.txt file is located here:


C:\Program Files\MicroFish\MicroFish 3.0 Demonstration Version\


You must edit mf-fish.txtIt seems as though every fish and wildlife agency uses slightly different codes or abbreviations to identify fish, therefore you must modify the fish name file mf‑fish.txt to identify the abbreviations you use.  For every species abbreviation encountered in one of your fisheries data sets, MicroFish expects to find a matching abbreviation in mf-fish.txt.  Numeric codes and fish abbreviations do not have to be in any order.  Once this file is set up it only needs to be modified if new species are encountered during fish sampling. 


Default mf-fish.txt file.  A default file is set up for you.  Because this default file is coordinated to work with the sample data set (sample fisheries data.txt) I provided, make a copy of this default file before modifying it with your own values.


Setting up the Fish Name File: mf-fish.txt

The file is very simple to set up.  There are 2 data fields separated by a comma.  There should only be one comma per line.  The commas do not have to be lined up (as shown here).  The fish abbreviation should be on the left and the full fish name should be on the right.  There should be no blank lines in this file.  [Note: a fish abbreviation of 0 (zero) is not allowed in mf-fish.txt.] 


  1, Chinook salmon

  2, Rainbow trout

  3, Brook trout

  4, Dolly Varden

  5, Cutthroat trout

  6, Brown trout

 10, Sucker

 11, Sculpin

100, Whitefish

101, Dace


Previous versions of MicroFish required numeric species codes (as above).  MicroFish now permits text abbreviations as well.  The mf-fish.txt file could be set up as follows:


chn, Chinook salmon

rbt, Rainbow trout

brk, Brook trout

dlv, Dolly Varden

cut, Cutthroat trout

brn, Brown trout

skr, Sucker

spn, Sculpin

wht, Whitefish

dac, Dace


Special Case: no matching abbreviation.  What happens when MicroFish reads a fish capture data file and finds no matching abbreviation in the fish name file, mf-fish.txt?  MicroFish will generate a warning message in the Data view and it will display the abbreviation instead of a full fish name in the output, but it will still generate fisheries charts and calculations.


Special Case: full fish names in data.  If you are one of the few people who don’t use abbreviations in your fish capture data files, then you don’t need to modify the fish name file, mf-fish.txt.  MicroFish will be a bit confused and generate warning messages to let you know that it didn’t find a corresponding fish name in the fish name file.  [If you find these warnings annoying and want them to go away, then a workaround is to set up mf-fish.txt so that the full fish name is on both sides of the comma.]


Setting Up The Fish Capture Data File


The purpose of the fish capture data file is to identify the raw data associated with a fish sampling effort such as an electrofishing sample. 


Text Format Only

The fish capture data file must be in a text format. 


Naming Conventions

This file is created by the user in a software application like Excel, Word, or Notepad.  The file you create can have any file name or be located in any accessible folder (directory).  It can have a Windows file extension of .txt, .csv, or .dat, though other file extensions are allowable so long as the file remains a text file.  


Recommended Data Entry Strategy

I recommend creating the data file in Microsoft Excel and saving the file as a comma-delimited format (.csv).  [Note: the use of Microsoft Notepad is an option, but Notepad can create problems because a single “tab” key in Notepad appears visually as blank spaces when no spaces actually exist.  This can confuse the user and generate data formatting errors.]


I also recommend keeping each fish capture sample in its own file rather than combining multiple sampling efforts (different streams, different dates) into one file.  (Subsequent versions of MicroFish will empower the user to easily combine data sets for comparing study areas and/or years.)



Entering Data: The Header Record


The first line of data is called the header record.  This data line can contain any text.  The header record is used by MicroFish for documentation purposes.  Thus, it should contain the sampling location, the date(s) of sampling.  Each data file should contain one and only one header record.  Examples of header records are as follows:


Rush Creek, Mono County, California. September 30, 2005.


Hampton Creek, Carter Co., Tennessee.  Sites 1-3, 20 July 2004. 


South Fork Salmon River, Warm Lake, Idaho.  Sampled July 20, 2006 by J. Davis, G. Myers



Entering Data for Fish Capture Data Files


Below the header record MicroFish expects numerous data records that catalog the fish sampling effort.  Each data record corresponds to either (1) an individual fish captured or (2) a group of fish of the same species weighed and counted collectively.


Seven data fields are expected, some of which are optional.  The data fields can either be separated by commas, spaces, or a combination of the two. 


The data records contain the following fields:


  1. The study (sampling) site number.  A positive whole number from 1 to n, where n is number of sampling locations.  For example, if a stream were electrofished in 3 separate locations, the site number would be a 1, 2, or 3. 


  1. The removal number.  A positive whole number from 1 to n, where n is the number of passes or removals.  If four electrofishing passes were made, the numbers would range from 1 to 4.


  1. The species code.  This can either be a numeric code or a text abbreviation.  It must have a corresponding full name in the fish name file mf-fish.txt.  The numeric code or text abbreviation can have any number of characters, but must not contain spaces.


  1. The fish length in millimeters.   This is the length for an individual fish.


  1. The fish weight in grams.  This is the weight for an individual fish.  It must be greater than zero.


[Fields 6 and 7 are optional.  Fields 6 and 7 refer to a group of fish of the same species.  If a record contains a group count and a group weight, Fields 4 and 5 must be blank.]


  1. The total number of fish captured.  A positive whole number greater than zero.


  1. The total weight of fish captured.  Weight must be in grams.  [This is an optional field.  A group count (Field 6) may exist with no corresponding group weight (Field 7).]


Two Important Points


  1. No blank lines may exist in the fish capture data file.


  1. If you create a data file that is space delimited, then you must designate missing values with a period (“.”) as a placeholder.

Visual Explanation of Fish Capture Data File Formatting


Clear Creek, Muskegon County, Michigan. June 14, 2006.

←Header Record, any text is OK








←Site 1, Removal 1, species 3 (Brook*), 1 fish: 161 mm, 42.5 g








←Site 1, Removal 1, species 2 (Rainbow*), 1 fish: 118 mm, 17 g








←Site 1, Removal 1, species 10 (Sucker*), 11 fish: group wt 68 g








←Site 1, Removal 1, species 11 (Sculpin*), 7 fish: no group weight








←Site 1, Removal 2, species 3 (Rainbow*), 1 fish: 104 mm, 16.9 g








←Site 1, Removal 2, species 3 (Rainbow*), 1 fish: 118 mm, 22.2 g








←Site 1, Removal 2, species 3 (Brook*), 1 fish: 100 mm, 15.1 g








←Site 2, Removal 1, species 3 (Brook*), 1 fish: 110 mm, 18.2 g








←Site 2, Removal 1, species 3 (Brook*), 1 fish: 129 mm, 29.2 g








←Site 2, Removal 1, species 3 (Rainbow*), 1 fish: 110 mm, 19.4 g








←Special case: no fish of any species caught in Site 2, Removal 2

Column 1, study site number 

Column 2, removal number 

Column 3, species abbreviation or code 

Column 4, individual fish length (mm)  

Column 5, individual fish weight (g)  

Column 6, group count of fish 

Column 7, group weight of fish 


*Species abbreviations (or, in this case, numeric codes) will convert to full species names in MicroFish output if a corresponding abbreviation is found in the fish name file, mf-fish.txt.









Individual fish or…

Group of fish





The example above shows space-delimited data (no commas) in a columnar format. 

MicroFish is also flexible enough to read the formats below.


Space-delimited, not columnar.

Clear Creek, Muskegon County, Michigan. June 14, 2006.

1 1 3 161 42.5

1 1 2 118 17.0

1 1 10 . . 11 68.2

1 1 11 . . 7 .

1 2 2 104 16.9

1 2 2 118 22.2

1 2 3 100 15.1

2 1 3 110 18.2

2 1 3 129 29.2

2 1 2 110 19.4

2 2 3 119 27.0

2 2 3 130 30.9

2 2 2 98 17.2



Comma-delimited, columnar.  Note: periods as placeholders are no longer needed.

Clear Creek, Muskegon County, Michigan  June 14, 2006

1,  1,  3,  161,  42.5,    ,

1,  1,  2,  118,  17.0,    ,

1,  1, 10,     ,      ,  11,   68.2

1,  1, 11,     ,      ,   7,

1,  2,  2,  104,  16.9,    ,

1,  2,  2,  118,  22.2,    ,

1,  2,  3,  100,  15.1,    ,

2,  1,  3,  110,  18.2,    ,

2,  1,  3,  129,  29.2,    ,

2,  1,  2,  110,  19.4,    ,

2,  2,  3,  119,  27.0,    ,

2,  2,  3,  130,  30.9,    ,

2,  2,  2,   98,  17.2,    ,



Comma-delimited, not columnar.  Note: periods as placeholders are no longer needed.

Clear Creek, Muskegon County, Michigan. June 14, 2006














Fish Capture Data File – Special Case


What happens when a sample is made and no fish (of any species) are caught?  For example, a 4th electrofishing pass is made in a stream section (study site) but no fish at all are captured. 


To accommodate this situation MicroFish allows a special record to be created where only the first 3 fields are filled in:  Identify the site number (Field 1), the removal number (Field 2), and in the species field (Field 3) put a “0” (a zero, without the quotes).  Leave the rest of the fields blank. 


Here’s an example:

3,  4,  0


In this example, no fish were captured in study site 3 on the 4th electrofishing pass.  MicroFish recognizes that a 4-pass removal took place at this study site and generates calculations based on 4 electrofishing passes. 




MicroFish References


Van Deventer, J.S. and W.S. Platts. 1985. A computer software system for entering, managing, and analyzing fish capture data from streams.  Research  Note INT‑352, Intermoun­tain For. & Range Research Station.  U.S.D.A.  Forest Service.  Ogden, UT.


Van Deventer, J.S.  1989. Microcomputer Software System for Generating Population Statistics from Electrofishing Data--User's Guide for MicroFish 3.0.  USDA Forest Service, General Technical Report INT-254.  29 p.






·         If you have questions about MicroFish or encounter difficulties, please contact me.

·         If you have ideas for improving MicroFish, I would appreciate hearing from you.

·         Contact information is on the front cover of this document.


-- Jack Van Deventer