U.S. Department of the Interior

U.S. Geological Survey

Open-File Report 2016–1009

Prepared in cooperation with the U.S. Army Corps of Engineers and U.S. Fish and Wildlife 

Service

Visual Basic, Excel-Based Fish Population Modeling Tool—

The Pallid Sturgeon Example
Cover. Figure 1 of this report.
Visual Basic, Excel-Based Fish Population 

Modeling Tool—The Pallid Sturgeon 

Example

By Edward H. Moran, Mark L. Wildhaber, Nicholas S. Green, and Janice L. Albers

Prepared in cooperation with the U.S. Army Corps of Engineers and U.S. Fish and 

Wildlife Service

Open-File Report 2016–1009

U.S. Department of the Interior

U.S. Geological Survey
U.S. Department of the Interior

SALLY JEWELL, Secretary

U.S. Geological Survey

Suzette M. Kimball, Director

U.S. Geological Survey, Reston, Virginia: 2016

For more information on the USGS—the Federal source for science about the Earth, its natural and living 

resources, natural hazards, and the environment—visit http://www.usgs.gov or call 1–888–ASK–USGS.

For an overview of USGS information products, including maps, imagery, and publications, 

visit http://www.usgs.gov/pubprod/.

Any use of trade, firm, or product names is for descriptive purposes only and does not imply endorsement by the 

U.S. Government.

Although this information product, for the most part, is in the public domain, it also may contain copyrighted materials 

as noted in the text. Permission to reproduce copyrighted items must be secured from the copyright owner.

Suggested citation:

Moran, E.H., Wildhaber, M.L., Green, N.S., and Albers, J.L., 2016, Visual basic, Excel-based fish population modeling 

tool—The pallid sturgeon example: U.S. Geological Survey Open-File Report 2016–1009, 20 p., http://dx.doi.

org/10.3133/ofr20161009.

ISSN 0196-1497 (print)

ISSN 2331-1258 (online)

ISBN 978-1-4113-4002-2
iii

Preface

This report documents a spreadsheet-based model for forecasting fish populations that was 

developed in Microsoft Excel® 2010 in concert with Microsoft Visual Basic for Applications 

(http://dx.doi.org/10.5066/F7057D0Z) using pallid sturgeon (Scaphirhynchus albus) as an 

example (see Wildhaber and others, 2015). The spreadsheet-based model has been tested for 

accuracy by comparing modeling results to those published by Wildhaber and others (2015). If 

users find or suspect errors, please contact the U.S. Geological Survey (USGS). 

Extensive testing has been done by the authors and reviewers to ensure the Excel-based model 

is error free. Even so, errors possibly exist in the Excel-based model. The distribution of the 

spreadsheet model does not constitute any warranty by the USGS, and no responsibility is 

assumed by the USGS in connection therewith.
iv

Acknowledgments

The report was prepared in cooperation with the U.S. Army Corps of Engineers and U.S. Fish 

and Wildlife Service under the U.S. Geological Survey Science Support Program and Interagency 

Agreement. We would also like to thank R. Scott and A. Davis for help in development of the 

Excel/Visual Basic interface.
v

Contents

Abstract ..........................................................................................................................................................1

Introduction ....................................................................................................................................................1

Modeling Tool Example ................................................................................................................................2

Modeling Considerations .............................................................................................................................2

Model Usage ..................................................................................................................................................4

Setting Model Parameters .................................................................................................................5

Setting Initial Life History Values ......................................................................................................8

Defining the Initial Population .........................................................................................................10

Setting Stocking Values ....................................................................................................................11

Setting Additional Mortality .............................................................................................................12

Outputs .................................................................................................................................................14

Closing and Saving ............................................................................................................................19

References Cited .........................................................................................................................................19

Figures

1. Screenshot showing flow chart of linkages between model inputs and outputs ............3

2. Screenshot showing initial screen on model opening ..........................................................4

3. Screenshot showing “Fish Population” window (main model page) .................................5

4. Screenshot showing “Model Components” window ............................................................6

5. Screenshot showing “Life History” window ...........................................................................8

6. Screenshot showing “Stochastic Survival Values” window ...............................................9

7. Screenshot showing “Initial Population” window ...............................................................11

8. Screenshot showing “Stocked Population” window ..........................................................12

9. Screenshot showing “Mortality” window .............................................................................13

10. Screenshot showing status bar reporting model progress ................................................13

11. Screenshot showing notification that the simulations have completed and how 

long they took to run ..................................................................................................................14

12. Screenshot showing final notification that the simulations have completed. .................14

13. Graph showing age-1+ female population numbers ............................................................14

14. Graph showing fry and age-1+ female population numbers combined ...........................15

15. Graph showing egg, fry, and age-1+ female population numbers combined ..................16

16. Graph showing annual median lambda with extinctions ....................................................16

17. Screenshot showing “Save As” window ..............................................................................17

18. Screenshot showing “Results Exported!” completion notice window ............................17

19. Screenshot showing deterministic spreadsheet data saved ............................................17

20. Screenshot showing stochastic spreadsheet data saved .................................................18

21. Graph showing age-1+ population saved figure ..................................................................18
vi

Conversion Factors

SI to Inch/Pound

Multiply By To obtain

Length

millimeter (mm) 0.03937 inch (in.)

Weight

gram (g) 0.03527 ounce, avoirdupois (oz)

Abbreviations

E number of eggs per gram of ovary

F fecundity

K growth coefficient that approximates how rapidly fork length (L), in millimeters, increases to 

asymptotic L (L∞)

L fork length, in millimeters

L∞ asymptotic fork length (L), in millimeters 

n number of observations

Nt Population size at time t

P proportion of body weight that is ovary

PVA population viability analysis

t

0 theoretical age when fork length (L), in millimeters, equals zero

USGS U.S. Geological Survey
Visual Basic, Excel-Based Fish Population Modeling 

Tool—The Pallid Sturgeon Example

Edward H. Moran1, Mark L. Wildhaber2, Nicholas S. Green2, and Janice L. Albers2

Abstract

The model presented in this report is a spreadsheet-based 

model using Visual Basic for Applications within Microsoft 

Excel (http://dx.doi.org/10.5066/F7057D0Z) prepared in 

cooperation with the U.S. Army Corps of Engineers and U.S. 

Fish and Wildlife Service. It uses the same model structure 

and, initially, parameters as used by Wildhaber and others 

(2015) for pallid sturgeon. The difference between the model 

structure used for this report and that used by Wildhaber 

and others (2015) is that variance is not partitioned. For the 

model of this report, all variance is applied at the iteration 

and time-step levels of the model. Wildhaber and others 

(2015) partition variance into parameter variance (uncertainty 

about the value of a parameter itself) applied at the iteration 

level and temporal variance (uncertainty caused by random 

environmental fluctuations with time) applied at the time-step 

level. They included implicit individual variance (uncertainty 

caused by differences between individuals) within the timestep level.

The interface developed for the model of this report is 

designed to allow the user the flexibility to change population 

model structure and parameter values and uncertainty 

separately for every component of the model. This flexibility 

makes the modeling tool potentially applicable to any fish 

species; however, the flexibility inherent in this modeling tool 

makes it possible for the user to obtain spurious outputs. The 

value and reliability of the model outputs are only as good 

as the model inputs. Using this modeling tool with improper 

or inaccurate parameter values, or for species for which the 

structure of the model is inappropriate, could lead to untenable 

management decisions. By facilitating fish population 

modeling, this modeling tool allows the user to evaluate a 

range of management options and implications. The goal of 

this modeling tool is to be a user-friendly modeling tool for 

developing fish population models useful to natural resource 

managers to inform their decision-making processes; however, 

as with all population models, caution is needed, and a full 

understanding of the limitations of a model and the veracity of 

user-supplied parameters should always be considered when 

using such model output in the management of any species. 

Introduction

Population viability analysis (PVA) has become a 

valuable modeling tool to conservation managers because 

it allows predictions to be made about future population 

trends in the face of changing environmental conditions and 

uncertainty about key demographic parameters (Morris and 

Doak, 2002). The endangered pallid sturgeon (Scaphirhynchus 

albus), used for this report as a motivating example, is 

endemic to the turbid waters of the Missouri and Lower 

Mississippi Rivers (Dryer and Sandvol, 1993; Mayden and 

Kuhajda, 1997). Since the early 1990s, hatchery-reared 

juvenile pallid sturgeon spawned from wild broodstock have 

been stocked in the Lower Missouri River (Huenemann, 

2014) in an effort to recover the population. Recovery efforts 

have included habitat manipulations through periodic flow 

modifications and specific hydroengineering to potentially 

improve spawning success of adults and survival of juveniles 

(U.S. Fish and Wildlife Service, 2003). Progeny of hatcheryorigin fish stocked in 1995–97 have reached sexual maturity 

(Albers and others, 2013; Wildhaber and Bryan, 2006) and 

have begun to spawn in the Lower Missouri River (DeLonay 

and others, 2009). 

Bajer and Wildhaber (2007) developed an initial, 

deterministic age-structured model for pallid sturgeon 

populations in the Lower Missouri River to complete a PVA. 

Since their model was published, additional information 

has been published and much more has been learned about 

pallid sturgeon population biology. Shuman and others (2011) 

present length-age relations for all four Recovery Priority 

Management Areas of the Missouri River. In PVAs, growth 

of sturgeon is often described by von Bertalanffy growth 

curves that are empirical relations for estimating length at 

age (Heppell, 2007; Jager, 2001; Jager and others, 2013; 

Pine and others, 2001; Velez-Espino and Koops, 2009); this 

includes pallid sturgeon (Bajer and Wildhaber, 2007; Shuman 

and others, 2011). Using the von Bertalanffy growth model, 

Shuman and others (2011) observed that the asymptotic length 

(L∞) increases, and the growth coefficient that approximates 

how rapidly length (L) increases to L∞ (K) decreases 

latitudinally, suggesting a latitudinal size gradient and a 

counter-latitudinal growth gradient. A pallid sturgeon PVA in 

the Lower Missouri River developed within the last 3 years 

(Steffensen and others, 2013) used a constant fecundity value 

1

National Weather Service.

2

U.S. Geological Survey.
2 Visual Basic, Excel-Based Fish Population Modeling Tool—The Pallid Sturgeon Example

(F) that eliminated the need for a von Bertalanffy growth 

model. Other work on sturgeon has shown that F changes with 

size (Van Eenennaam and Doroshov, 1998; Bruch and others, 

2006; Kennedy and others, 2006; Colombo and others, 2007; 

Imanpoor and others, 2009; Nazari and others, 2009; Albers 

and others, 2013). 

The model and its interface presented here (http://

dx.doi.org/10.5066/F7057D0Z), prepared in cooperation 

with the U.S. Army Corps of Engineers and U.S. Fish and 

Wildlife Service, allow the user to investigate for themselves 

how variations in model assumptions (along with other 

assumptions) might affect population forecasts of any fish 

species for which the user has enough data to parameterize 

the model. A flow chart of the model showing the linkages 

between the different model inputs and outputs is provided 

in figure 1. Specifically, the user must be able to provide the 

following: annual survival rates for each age class, parameters 

for the von Bertalanffy growth model, parameters for one of 

three built-in F models, maximum age, age of first spawning, 

sex ratio (proportion female), and the proportion of females 

that spawn each year. If values are unknown, then the user 

can enter a range of suspected values to simulate their effect 

on population dynamics. The default parameter values of 

the model are derived from our motivating example, the 

endangered pallid sturgeon of the Lower Missouri River 

(Wildhaber and others, 2015).

Modeling Tool Example

The example that is presented is a Leslie matrix model 

that simulates only female fish, using Lower Missouri River 

pallid sturgeon (see Wildhaber and others [2015] for full 

model description) population dynamics, with variation in 

parameters applied as variance between iterations and time 

steps of the model. The model operates with discrete time 

steps of 1 year. We defined year from January 1 to December 

31. Age-0 survival is the survival of fish from spawning to 

December 31. Within each time step, spawning is calculated 

before survival. This means that a fish can spawn and die 

in the same year and that an adult in the last year of life can 

spawn before it dies. Female fish population is counted on 

January 1.

Modeling Considerations

The interface developed for this model (http://dx.doi.

org/10.5066/F7057D0Z) is designed to allow the user the 

flexibility to change model structure, parameter values, and 

uncertainty separately for every component of the model. 

This flexibility makes the modeling tool applicable to any 

fish species for which the user has sufficient information 

with which to parameterize a model. When the user lacks 

information, the simplicity of defining model parameters 

through the graphical user interface can facilitate testing 

a suspected range of parameter values. Along with this 

flexibility comes the responsibility of the user to understand 

enough about the fish species they are trying to model to 

supply reasonable parameters, uncertainties, and response 

functions. Like most analytical software, this modeling tool 

will supply outputs based on the model structure defined by 

the user. If the parameter values, uncertainty, and/or response 

functions provided are illegitimate (for example, survival rates 

less than [<] 0 or greater than [>] 1), the model will provide 

the user warnings as to such violations before they are used. 

If the user chooses to ignore the warnings, any output will be 

questionable at best, or the model may crash. The value and 

reliability of the model outputs are only as good as the model 

inputs provided by the user. The choices made by the user not 

to heed the warnings provided and/or to use model parameters, 

uncertainty, and/or functions that do not truly represent the 

species being modeled increase the potential to produce 

spurious output that could be detrimental to the species if used 

for making management decisions; for example, if survival 

rates are overestimated, then the model may predict improving 

stocks when the reverse is true. Underestimating parameter 

uncertainty can lead to overconfidence in predicted stock 

numbers and, therefore, decreased emphasis on management 

efforts that lead to future population crashes. Suspect results 

can be obtained by choosing inappropriate model functions; 

for example, using a constant F rate when F is known to 

increase with size in a species can lead to model outputs that 

underestimate population growth.

The potential for erroneous output using this modeling 

tool is inherent in the flexibility it provides. This modeling 

tool is designed to facilitate fish population modeling, not 

provide conclusive results. As with any modeling tool, the 

results are only as good as the assumptions of the model and 

the validity of the model parameters supplied by the user. 

The outputs of a model developed using this modeling tool 

and the interpretation of the resulting outputs are thus the 

responsibility of the user. The modeling tool allows the user to 

evaluate a range of management options and implications.

This modeling tool is intended to provide a user-friendly 

interface for developing fish population models useful to 

natural resource managers to inform their decision-making 

processes. Such population models can be useful for guiding 

species conservation efforts (Akcakaya and SjogerenGulve, 2000; Van Dyke, 2008). They can be used to provide 

comparison of populations under different management 

programs; however, because of limits in knowledge of a 

species’ biology and demographics, such models may not 

provide accurate population estimates or extinction predictions 

(Beissinger and Westpahl, 1998; Reed and others, 2002; 

Van Dyke, 2008). Relative effects of mortality and future 

stocking plans are exactly the type of management programs 

that can be evaluated using such a model. But, as with all 

population models, caution is needed, and a full understanding 

of their limitations should be used in the management of any 

species. 
Figure 1. Flow chart of linkages between model inputs and outputs. 
4 Visual Basic, Excel-Based Fish Population Modeling Tool—The Pallid Sturgeon Example

Model Usage

Instructions for using the Excel-based fish population 

modeling tool are provided in this section. Open Excel 2010 

and maximize screen. Open model file, “Fish_Population_

Model,” using Excel 2010. If your computer has the setting 

turned on, the file will open in “Protected View,” and the 

user should click “Enable Editing.” With the model open, the 

user should see a graph (fig. 2) and will be taken to the “Fish 

Population” window (main model page) (fig. 3).

In this “Fish Population” window, there are three main 

buttons on the right-hand side:

• “Run Model” will run the model with the currently 

saved parameter values and options. If no user 

values have been input or stochastic options selected, 

the model will run with all default values. Graphs 

displaying results will be automatically generated. 

The user can select which possible output graphs they 

would like to see after the model is finished.

• “Set Model Parameters” opens a page where the 

user will input their own values; and select options 

for parameters related to growth, reproduction, and 

maximum age, the number of years and the number 

of simulations for the model. The model allows the 

user to save their values for use in future runs, but for 

those parameters the user changes, the “Load Default” 

checkboxes must be unchecked for the changes to be 

saved. All results are saved on model closing, and to 

avoid overwriting previous results, the user needs to 

rename the file after it is run.

• “Set Initial Life History Values” will allow the user to 

change life history values, such as initial population, 

survival values, mortality rate, and stocking numbers.

Two additional buttons on the “Fish Population” window 

allow the user to quickly use default values:

• “Reset All to Default Values” will make all parameter 

values used in the model the default values when 

pressed.

• “Replace User Values with Default Values” will replace 

all values that the user has saved with the model’s 

default values.

Figure 2. Initial screen on model opening.
Model Usage 5

Setting Model Parameters

After clicking on the “Set Model Parameters” button, the 

“Model Components” window will appear (fig. 4). 

This “Model Components” window allows the user to 

change parameters such as maximum age, age at maturity, 

spawning intervals, percent of females, F, growth, and number 

of simulations (number of simulations only effects outcome 

when stochasticity is turned on). If the “Simulate Stochastics” 

checkbox is checked for a parameter (other than “Maximum 

Age”), new values will be randomly drawn for each year 

within a simulation from the distribution defined by default 

or the user. Below we describe how the user defines the 

distribution from which these values are drawn for a given 

year.

The model will warn the user if illegitimate values are 

entered for some parameters. The L∞ must be greater than or 

equal to (≥) 1; percent egg mass, percent females, and age of 

maturity must be between 0 and 100; proportion of females 

spawning must be between 0 and 1; and theoretical age when 

L=0 (t

0

) cannot be positive. Note that the model may still allow 

the user to save illegitimate values and will attempt to run the 

model with them; however, if the user ignores the warnings 

invoked by saving illegitimate values, then the results of the 

model will be suspect, or the model may crash. 

To enter user data in the text cells, uncheck the “Load 

Default” checkbox for that parameter. Failure to uncheck 

“Load Default” will cause all user inputs to not be saved even 

if user clicks the “Save Parameter Values” button and will 

reset to default upon closing the page. If values other than the 

default are to be run, uncheck “Load Default” checkbox, input 

the desired values, and click “Save Parameter Values.” If any 

of the user-supplied values are not legitimate values, warnings 

will appear. When any form is closed and then reopened, the 

values in each parameter will be the same as what was set 

previously, either user or default. Checking and unchecking 

“Simulate Stochastics” or “Load Default” checkboxes will 

confirm that user values were saved.

Caution!!! User-input values will not be implemented unless 

the user clicks “Save Parameter Values.”

Figure 3. “Fish Population” window (main model page).
6 Visual Basic, Excel-Based Fish Population Modeling Tool—The Pallid Sturgeon Example

The user can also supply parameters to define the 

variance of model components on this page. To run 

the model with stochasticity on a parameter, check the 

“Simulate Stochastics” checkbox for that parameter. Note 

that stochasticity can be activated or deactivated for each 

parameter independently of other parameters and regardless 

of whether or not the default values are selected. Once the 

“Simulate Stochastics” checkbox is checked, three boxes 

will appear. These boxes allow the user to input a standard 

deviation, minimum, and maximum value for the parameter. 

The user must supply all three values. These three values, 

together with the mean, define a truncated normal distribution 

that will be used to simulate stochastic draws for that model 

parameter. The user must ensure that they supply a positive 

standard deviation, a mean that is less than the maximum and 

greater than the minimum, and a minimum that is less than 

the maximum. If any of those three conditions are not met, 

then the user will see a warning. Note that the model may still 

allow the user to save these values and will attempt to run the 

model with them. If the user ignores the warnings invoked by 

saving illegitimate values, then the results of the model will be 

suspect, or the model may crash.

The four parameters at the top of the “Model 

Components” window are always used:

• “Maximum Age” parameter.—This parameter is the 

maximum age that an individual can attain in the 

model. Individuals can survive and reproduce up to 

this age. Maximum age must be entered as an integer 

between 1 and 100.

• “Age of Maturity” parameter.—This parameter is the 

age at which individuals are first able to reproduce. 

Age of maturity must be entered as a nonnegative 

integer (0 is allowed). Age of maturity can be set 

to greater than the maximum age with obvious 

consequences for the simulation results. When age 

of maturity is set to 0, only the fry are allowed to 

reproduce; eggs are not.

Figure 4. “Model Components” window.
Model Usage 7

• “Proportion Spawning Females”.—This parameter 

is the proportion of females that spawn in a year, 

expressed as a proportion between 0 and 1. This value 

can also be interpreted as the reciprocal of a spawning 

interval; for example, a value of 0.25 could mean that 

individuals spawn once every 4 years, or that in any 

given year one out of four females will spawn.

• “Percent Females in the Population”.—This parameter 

is the sex ratio, expressed as the percentage of the 

population that is female. As a percentage, this value 

must be between 0 and 100.

Below these four life history parameters are two run 

characteristics: 

• “Stochastic Simulations”.—If stochasticity is turned 

on for any model parameter, this will determine the 

number of iterations for which the model is run. The 

user must select between 1 and 2,000 iterations.

• “Number of Simulation Years”.—This value defines 

the number of years for which to simulate population 

dynamics. The user must enter a value between 1 and 

100 years.

There are three buttons in the center of the “Model 

Components” window:

• “Close Form”.—This button will close the “Model 

Components” window and return the user to the “Fish 

Population” window. This button is useful after the 

user saves parameters on this page and still needs to 

enter parameters on another page. Note that pressing 

this button will not automatically save user values.

• “Run Model”.—This button will run the model with 

the currently saved parameter values.

• “Save Parameter Values”.—This button will save the 

values currently in the boxes. When “Save Parameter 

Values” is pressed, the model will also check that 

the values in the boxes are legitimate; for example, it 

will verify that means are less than the maxima and 

greater than the minima; that proportions are within 

[0, 1] and percentages are within [0, 100]; and that 

parameters have the correct sign. If the user attempts 

to save illegitimate values, warning boxes will appear 

describing which values need to be corrected. Note that 

the model may still allow the user to save these values 

and will attempt to run the model with them. If the user 

ignores the warnings invoked by saving illegitimate 

values, then the results of the model will be suspect, or 

the model may crash.

Below these three buttons are two more sets of life 

history parameters: “Fecundity Calculation” and “von 

Bertalanffy Length to Age Equation.” Fish growth, or 

more specifically fish length at age, is determined by a von 

Bertalanffy growth model. The von Bertalanffy growth model 

uses the age of a fish to set its length. The user must supply all 

three parameters of the von Bertalanffy growth model. The L∞

must be positive; t

0

 must be ≤ 0, and K must be positive. Like 

sex ratio, age of maturity, and proportion spawning, the user 

can elect to apply stochasticity to any combination of L∞, K, 

and t

0

 by supplying a standard deviation, minimum value, and 

maximum value for each parameter.

The model allows the user to select one of three models 

to determine F, or the number of eggs produced per individual 

female per year. All three F models depend on the length result 

of the von Bertalanffy growth model in a slightly different 

way. Only one F model can be active at a time. The user can 

select which F model to use by clicking on the appropriate 

radio button. Once a F model is selected, the appropriate 

boxes will appear to set its parameters:

• “Fork Length (L) in mm (Log10)”.—This option is 

based on the F structure in Albers and others (2013) 

and uses a log10-transformed F that depends linearly on 

fork length (L) in millimeters (equation 1).

log10 (F) = β0 + β1 × L, (1)

where

F is the fecundity;

β0 is the intercept, 4.1724±0.1879;

β1 is the slope, 0.0005±0.0002 (Albers and 

others, 2013); and

L is the fork length.

Like other parameters, the user can select stochasticity to 

be applied to the intercept and slope. The user can also set a 

constant F by setting the slope to 0 and the intercept to the 

log10 of the desired F.

• “Weight in g to L in mm (Log10)”.—This option 

is based on the F structure in Bajer and Wildhaber 

(2007), which specifies that F depends on a proportion 

of body weight that is ovary (P), the number of 

eggs per gram of ovary (E), a power function of 

body weight in grams (W), where weight varies 

as a linearized power function of L in millimeters 

(equation 2).

10 ( 0 1 10 ( )) 10

100

P log log L F E   + × =  × ×  

β β , (2)

where

F is the fecundity;

P is the proportion of body weight that is ovary;

E is the number of eggs per gram of ovary;

β0 is the intercept, -5.9950±0.0185;

	 β1 is the slope, 3.1873±0.0067 (number of 

observations (n)=4,623, r2=0.98, minimum 

length (L)=152 millimeters [mm] and 

maximum L=1,116 mm).

The default percent body weight of ovary value is estimated 

to be 15.067 grams (standard deviation=4.438; that is, 
8 Visual Basic, Excel-Based Fish Population Modeling Tool—The Pallid Sturgeon Example

gonadal-somatic index) based on three pallid sturgeon 

(Keenlyne and others, 1992; George and others, 2012). 

The default values for the log10 weight (in grams) – log10 L

equation were from data collected from the Pallid Sturgeon 

Population Assessment Program (Wildhaber and others, 2014). 

Lastly, an estimate of the default E was estimated to be 83.933 

(standard deviation=2.914) based on three pallid sturgeon 

(Keenlyne and others, 1992; George and others, 2012). Like 

other parameters, the user can select stochasticity to be applied 

to the intercept and slope, as well as to the P and E. The user 

can also set a constant F by setting the slope to 0 and the 

intercept to the log10 of the desired F.

• “L in mm (Linear)”.—This option is based on the 

F structure in Wildhaber and others (2015) that 

specifies that F depends linearly on L in millimeters 

(equation 3).

F = β0 + β1 × L, (3)

where

F is the fecundity,

β0 is the intercept,

β1 is the slope, and

L is the fork length.

Like other parameters, the user can select stochasticity to be 

applied to the intercept and slope. Using this option, the user 

can also apply a uniform, constant F by setting the slope to 0 

and the intercept to the constant F.

If no other life history parameters need to be changed 

from the defaults, the model can be run from the “Model 

Components” window by clicking “Run Model.” 

Caution!!! Don’t forget to click the “Save Parameter Values” 

button to avoid losing any data!

Caution!!! Before inputting any user data in the text cells, 

uncheck the “Load Default” checkbox for that parameter. 

Failure to uncheck “Load Default” checkbox will cause all 

user inputs to reset to default upon closing or saving the form. 

Setting Initial Life History Values

To set life history values, click the “Set Initial Life 

History Values” button on the “Fish Population” window 

(fig. 3) of the model. Then, a new “Life History” window 

will appear with multiple buttons that open corresponding 

subwindows (fig. 5). At this time (publication of the report), 

stochasticity is only implemented for the survival rates.

These subwindows allow the user to input survival rates, 

initial population sizes, stocking numbers, and mortality 

rates, such as natural mortality rates. Upon opening these 

subwindows through their respective buttons, the user will 

notice numerous text boxes for Age Class inputs. Notice that 

the number of age classes corresponds to the “Maximum 

Age” value that was entered in the upper half of the “Model 

Components” window; therefore, the user must enter and 

save their desired maximum age before coming to the “Life 

History” window or its subwindows.

• “Set Survival Values,” with “Run Stochastics” in the 

“Life History” window (fig. 5) checked, opens the 

“Stochastic Survival Values” window that is a form to 

enter survival values with stochasticity (fig. 6). 

In this model, survival of the first year of life (that is, 

age-0 survival) is modeled as the product of two intra-annual 

survival rates: the survival of eggs to the larval stage (“egg 

survival”) and the survival of larvae or fry to the end of the 

calendar year (“larval survival”). The user need only input two 

of these rates; the model will automatically calculate the third. 

The user can choose which components of age-0 survival rate 

to enter by clicking one of the option buttons in the top-left 

corner. If the user only has a total age-0 survival estimate, then 

option 2 or 3 can be selected, and any value can be used for 

the egg or fry survival.

Figure 5. “Life History” window.
Model Usage 9

Figure 6. “Stochastic Survival Values” window.

• “Use Eggs and Fry Survival Values”.—If the user has 

an estimate of egg survival (for pallid sturgeon this 

was survival from spawn to stock age) and fry survival 

(for pallid sturgeon this was stock age to December 31 

of the first year), then they can select “Use Egg and Fry 

Survival Values” and enter parameters for “Age Class 

0 Eggs” and “Age Class 0 Fry.” Note all other options 

are unavailable. Using these two estimates, the model 

determines the third parameter: “Solved for All Age 

Class 0.”

• “Use Egg and All Age Class 0 Survival Values”.—If 

the user has estimates of survival for the eggs (for 

pallid sturgeon this was survival from spawn to stock 

age) and total survival from spawn to December 31 of 

the first year, then they can select “Use Egg and All 

Age Class 0 Survival Values” and enter parameters for 

“Age Class 0 Eggs” and “All Age Class 0.” With these 

two values, the model determines the third parameter: 

“Solved for Age Class 0 Fry.” 

• “Use Fry and All Age Class 0 Survival Values”.—If 

the user has estimates of survival for the fry (for pallid 

sturgeon this was stock age to December 31 of the first 

year) and total survival from spawn to December 31 

of the first year, then they can select “Use Fry and All 

Age Class 0 Survival Values” and enter parameters for 

“Age Class 0 Fry” and “All Age Class 0.” With these 

two values, the model determines the third parameter: 

“Solved for Age Class 0 Eggs.” 
10 Visual Basic, Excel-Based Fish Population Modeling Tool—The Pallid Sturgeon Example

With stochasticity checked on, the remaining survival 

rates, for ages 1 to 1 less than the maximum age, are on the 

right side of the “Stochastic Survival Values” window. The 

number of survival rates displayed for input here is dependent 

on the currently saved value of maximum age; therefore, 

the user should enter and save their desired maximum age 

on the “Model Components” window before attempting to 

enter and save survival rates. Like parameters on the “Model 

Components” window, the user can input the mean of each 

age-specific survival rate independently. If stochasticity for 

survival rates is activated, the user can also enter a standard 

deviation, maximum, and minimum for each age-specific 

survival rate. Survival rates are limited to the interval [0, 1]. 

Standard deviations must be nonnegative, means must be 

less than maxima and greater than minima, and for each rate 

the user must supply a minimum less than the maximum. If 

any of these four conditions is not met when the user clicks 

“Save User Survival Values,” then a message box will appear 

stating which condition was violated. The small box near the 

top center of the “Stochastic Survival Values” window titled 

“Age Class with Error” will display the age class to which the 

violation relates after the “OK” button is clicked for the error 

message. Note that although there is a warning, the model will 

save an illegitimate value and use it; in that event, the model 

may produce nonsensical results or crash.

If the user does not want to enter survival estimates, there 

is a “Load Survival Default Values” checkbox available at 

the lower center of the “Stochastic Survival Values” window. 

When this checkbox is checked, the default survival estimates 

for each age class will populate the form. The user must 

uncheck this checkbox in order to enter and save their own 

values for survival estimates.

Caution!!! The user is responsible for inputting concordant 

values for egg survival, fry survival, and overall age-0 

survival rates. Overall age-0 survival rate is the product of the 

egg and fry survival rates. Failure to input egg, fry, and age-0 

survival rates that are consistent with each other will cause 

the model to produce nonsensical output.

Caution!!! The user must click “Save User Survival Values” 

after entering survival rates to avoid losing any data. 

Caution!!! Before inputting any user data in the text cells, 

uncheck the “Load Survival Default Values” checkbox for that 

parameter. Failure to do so will cause all user inputs to reset 

to default upon closing or saving the form. 

Caution!!! The user must reselect the option button in the topleft corner for the type of age class-0 survival rate calculation 

after unchecking the “Load Survival Default Values” 

checkbox. If an option button is not selected, the model will 

use the default survival rates instead of user input rates.

Use the “Close Form” button to exit the page, or click 

“Run Model” if no additional inputs are needed.

Defining the Initial Population

The size and age distribution of the initial population can 

be set on the “Initial Population” window (fig. 7). To access 

this window, click the “Set Initial Fish Population” button 

on the “Life History” window (fig. 5). This opens a form 

where the user can enter the number of fish for the starting 

population. No stochasticity is allowed for these values. This 

form has a box for each age class in the model where the 

user can enter the number of individual females to start the 

simulation with. As with the survival rates, the number of age 

classes available on this form is dependent on the currently 

saved value of maximum age; therefore, the user must enter 

and save their desired maximum age before coming to the 

“Life History” window or its subwindow. 

If the user does not want to enter initial population size 

or age distribution, there is a “Load Default Values” checkbox 

available at the top left of the form. When this checkbox is 

checked, the default initial population sizes for each age class 

will populate the form. The user must uncheck this checkbox 

to enter and save their own values for initial population size.

To save user-entered initial population sizes, click the 

“Save User Initial Population” button at the top right corner. 

When this button is pressed, the model will check to make 

sure that each value on the form is nonnegative. If the user 

attempts to save a negative initial population size, a warning 

will appear. The small text box titled “Age Class with Error” 

will display the age class with the negative population after 

the “OK” button is clicked (fig. 7). Note that although there is 

a warning, the model will save an illegitimate value and use 

it; in that event, the model may produce nonsensical results or 

crash.

• “Close”.—Click to exit the “Initial Population” 

window when done. 

Caution!!! The user must click “Save User Initial Population” 

after entering initial population sizes to avoid losing any data! 

Caution!!! Before inputting any user data in the text cells, 

unselect the “Load Default Values” checkbox for that 

parameter. Failure to do so will cause all user inputs to reset 

to default upon closing or saving the form. 
Model Usage 11

Setting Stocking Values

Stocking of any age class in the model can be added 

in the “Stocked Population” window (fig. 8). To access this 

window, click the “Set Stocked Fish Numbers” button on the 

“Life History” window (fig. 5). This opens a form where the 

user can enter the number of fish to be stocked yearly into 

any age class. As with the survival rates, the number of age 

classes available on this form is dependent on the currently 

saved value of maximum age; therefore, the user must enter 

and save their desired maximum age before coming to the 

“Life History” window or its subwindow. No stochasticity is 

allowed for these values. 

The default is for no stocking of any age class. This can 

be obtained by checking the “Load Default Values” checkbox 

in the top left of the form. User-defined values can be entered 

by first unchecking the “Load Default Values” checkbox and 

then putting the desired number of stocked fish into the box for 

each age class. As with other parameters, these values must be 

saved before they are used by clicking the “Save User Stocked 

Values” button at the top right. When this button is clicked, 

the model will check for illegitimate negative stocking values 

and give a warning. The small text box titled “Age Class 

with Error” will display the age class with the negative value 

after the “OK” button is clicked. Note that although there is a 

warning, the model will save an illegitimate value and use it; 

Figure 7. “Initial Population” window.
12 Visual Basic, Excel-Based Fish Population Modeling Tool—The Pallid Sturgeon Example

in that event, the model may produce nonsensical results or 

crash. Once user values are entered and saved, click “Close” 

to close this form and return to the “Life History” window 

(fig. 5).

• “Close”.—Click to exit the window when done. 

Caution!!! The user must click “Save User Stocked Values” 

after entering stocking numbers to avoid losing any data! 

Caution!!! Before inputting any user data in the text cells, 

uncheck the “Load Default Values” checkbox for that 

parameter. Failure to do so will cause all user inputs to reset 

to default upon closing or saving the form.

Setting Additional Mortality

The population model applies a single age-specific 

survival rate to each age class. An additional mortality rate 

can be specified for each class to enable modeling of mortality 

from more than one source. This opens a form where the user 

can enter additional mortality rates; for example, a population 

could be simulated where certain age classes experience a 

natural mortality rate and an additional mortality from another 

source such as fishing or predation. To enter additional 

mortality rates (fig. 9), click the “Additional Mortality Rates 

(e.g., fishing)” button on the “Life History” window (fig. 5). 

No stochasticity is allowed for these values. As with the 

survival rates, the number of age classes available on this 

form is dependent on the currently saved value of maximum 

age; therefore, the user must enter and save their desired 

maximum age before coming to the “Life History” window or 

its subwindow.

Additional mortality is set as a mortality percentage, not 

a survival rate; for example, if 250 out of 1,000 fish suffer 

the additional mortality, then the value entered should be 25. 

Additional mortality is multiplicative with the main survival 

rate; for example, if the age-1 survival rate is set as 0.75, 

and the additional mortality for age-1 is set as 30, then the 

resulting age-1 survival rate is 0.75×0.7=0.525.

The default is 0 for additional mortality of any age class. 

This can be obtained by checking the “Load Default Values” 

checkbox in the top left of the “Mortality” window. Userdefined values can be entered by first unchecking the “Load 

Default Values” checkbox and then entering the additional 

mortality into the box for each age class. As with other 

Figure 8. “Stocked Population” window.
Model Usage 13

parameters, these values must be saved before they are used 

by clicking the “Save User Mortality Values” button at the 

top right. When this button is clicked, the model will check 

for illegitimate additional mortality values such as those not 

between 0 and 100. If the user attempts to save a rate outside 

that interval, a warning will appear. The small text box titled 

“Age Class with Error” will display the age class with the 

negative value after the “OK” button is clicked. Note that 

although there is a warning, the model will save an illegitimate 

value and use it; in that event, the model may produce 

nonsensical results or crash. Once user values are entered and 

saved, click “Close” to close the form and return to the “Life 

History” window (fig. 5).

Caution!!! The user must click “Save User Mortality Values” 

after entering additional mortality values to avoid losing any 

data! 

Caution!!! Before inputting any user data in the text cells, 

uncheck the “Load Default Values” checkbox for that 

parameter. Failure to do so will cause all user inputs to reset 

to default upon closing or saving the form. 

Once all required inputs are entered into the “Life 

History” window and subpages, the user can run the model 

using any of the “Run Model” buttons or using the “Close” 

button to back out to the main page and clicking the “Run 

Model” button (fig. 3). After clicking on the “Run Model” 

button, the progress of the simulations will be projected into 

the bottom left corner of the screen (fig. 10).

After the simulations are complete, a time window will 

appear that reports the time it took to run the simulations. 

Click “OK” (fig. 11).

Another window will appear reporting that the 

simulations are finished. Click “OK” (fig. 12).

Figure 9. “Mortality” window.

Figure 10. Status bar reporting model progress.
14 Visual Basic, Excel-Based Fish Population Modeling Tool—The Pallid Sturgeon Example

Outputs

The results of the population simulation are presented 

in four different graphs: “Age-1+ Fish Estimates,” “Fry and 

Age-1+ Estimates,” “Egg, Fry, and Age-1+ Estimates,” and 

“Lambda Estimates.” These can be selected in the bottom 

right corner of the “Fish Population” window (fig. 3). 

Additionally, the user can determine what percentile the error 

bars represent by entering the value into the “Graph Error Bar 

Upper Percentile” box, where the 50th percentile will show 

no error bars, and the default value is 95, which shows the 

95 percentile interval (that is, from the 2.5 to 97.5 percentiles).

The first graph, “Age-1+ Fish Estimates,” is annual 

median female population sizes of age-1+ individuals with 

and without stochasticity. The deterministic model result is 

shown in grey and the stochastic result is shown in black. 

The stochastic results are plotted as the median across all 

iterations, with the percentile interval chosen by the user 

(fig. 13).

Figure 11. Notification that the simulations have completed and 

how long they took to run.

Figure 12. Final notification that the simulations have completed.

Figure 13. Age-1+ female population numbers. Default values were used with stochasticity applied to age at maturity, proportion 

of females spawning, and proportion of females in the population. The stochastic simulation was run using a 50-year period with 25 

iterations.
Model Usage 15

The second graph, “Fry and Age-1+ Estimates,” is annual 

median female population sizes of age-1+ individuals plus 

fry with and without stochasticity. The deterministic model 

result is shown in grey and the stochastic result is shown in 

black. The stochastic results are plotted as the median across 

all iterations, with the percentile interval chosen by the user 

(fig. 14).

The third graph “Egg, Fry, and Age-1+ Estimates,” is 

annual median female population sizes of age-1+ individuals 

plus fry and eggs (that is, age-1+ added to fry count plus egg 

count) with and without stochasticity. The deterministic model 

result is shown in grey and the stochastic result is shown in 

black. The stochastic results are plotted as the median across 

all iterations with the percentile interval chosen by the user 

(fig. 15).

The fourth graph, “Lambda Estimates,” is annual 

median female population growth rate, lambda (λ). Here, λ is 

calculated as Nt/Nt-1 where Nt is current number of individuals 

in the population and Nt-1 is the number of individuals in the 

population in the previous year. When λ=1, the population is 

stable; λ>1 signifies population growth, whereas λ<1 signifies 

population decline (fig. 16).

To export simulation data and the summary data used to 

construct the graphs, click the export button next to the radio 

button that selects that set of results (fig. 3). A “Save As” 

window will appear where the desired file name can be entered 

or the user can use the descriptive name for each set of results 

prepopulated in this window (fig. 17).

When “OK” is clicked, another window will appear 

showing that the results have been successfully exported 

(fig. 18).

0

10,000

20,000

30,000

40,000

50,000

60,000

70,000

80,000

90,000

100,000

0 10 20 30 40 50 60

Number of females

Year

Fry and age-1+ female fish population

Median without stochasticity

Median with stochasticity

Figure 14. Fry and age-1+ female population numbers combined. Default values were used with stochasticity applied to age at 

maturity, proportion of females spawning, and proportion of females in the population. The stochastic simulation was run using a 

50-year period with 25 iterations.
16 Visual Basic, Excel-Based Fish Population Modeling Tool—The Pallid Sturgeon Example

0

5,000,000

10,000,000

15,000,000

20,000,000

25,000,000

30,000,000

35,000,000

40,000,000

45,000,000

0 10 20 30 40 50 60

Number of females

Year

Eggs, fry, and age-1+ female fish population

Median without stochasticity

Median with stochasticity

Figure 15. Egg, fry, and age-1+ female population numbers combined. Default values were used with stochasticity applied to age 

at maturity, proportion of females spawning, and proportion of females in the population. The stochastic simulation was run using a 

50-year period with 25 iterations.

0

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

0 10 20 30 40 50 60

Lambda (Nt

/Nt+1)

Year

Annual median lambda with extinctions

Median without stochasticity

Median with stochasticity

Figure 16. Annual median lambda with extinctions. Default values were used with stochasticity applied to age at maturity, proportion 

of females spawning, and proportion of females in the population. The stochastic simulation was run using a 50-year period with 25 

iterations.
Model Usage 17

Two files will be saved in the same folder where the 

model file is saved:

1. The first file is a .xlsm file (a Microsoft Excel 

workbook) that contains two sheets, which are named 

for and contain the deterministic and stochastic female 

population results (fig. 19). The deterministic results 

have two columns, “Year” and either “Population” (the 

number of females) or “Lambda” (the population growth 

rate). If worksheet tabs and scroll bars are missing, 

then the user needs to turn on these options by selecting 

“File,” “Options,” and “Advanced.” Under the section 

called “Display options for this workbook,” check the 

checkboxes for “Show horizontal scroll bar,” “Show 

vertical scroll bar,” and “Show sheet tabs.”

The stochastic sheet contains a row for each iteration 

(“simulation”), and the columns represent each year of the 

simulation (fig. 20).

2. The second file is a .jpg file containing the graph of 

interest and can be opened using any picture software 

(for example, Paint®, Photo Gallery®, and other similar 

programs) (fig. 21).

Figure 17. “Save As” window.

Figure 18. “Results Exported!” completion notice window.

Figure 19. Deterministic spreadsheet data saved.
18 Visual Basic, Excel-Based Fish Population Modeling Tool—The Pallid Sturgeon Example

Figure 20. Stochastic spreadsheet data saved.

Figure 21. Age-1+ population saved figure.
References Cited 19

Closing and Saving

To close model, click the “Close Model” button on the 

main model page (fig. 3). All changes are automatically saved 

as the same file upon model closing; to avoid overwriting 

previous results the user needs to rename the file after it is 

closed, or make a new copy with a changed name before 

opening the file. Excel security settings such as the “Protected 

View” are implemented for every new file; therefore, any 

moved or renamed file will require initial opening and 

closing before using as was required with first opening of the 

model.

References Cited

Akçakaya, H.R., and Sjögren-Gulve, P., 2000, Population 

viability analyses in conservation planning—An overview: 

Ecological Bulletins, no. 48, p. 9–21. [Also available at 

http://www.jstor.org/stable/20113245.]

Albers, J.L., Wildhaber, M.L., and DeLonay, A.J., 2013, 

Gonadosomatic index and fecundity of Lower Missouri 

and Middle Mississippi River endangered pallid sturgeon 

estimated using minimally invasive techniques: Journal 

of Applied Ichthyology, v. 29, no. 5, p. 968–977. [Also 

available at http://dx.doi.org/10.1111/jai.12231.]

Bajer, P.G., and Wildhaber, M.L., 2007, Population viability 

analysis of Lower Missouri River shovelnose sturgeon with 

initial application to the pallid sturgeon: Journal of Applied 

Ichthyology, v. 23, no. 4, p. 457–464. [Also available at 

http://dx.doi.org/10.1111/j.1439-0426.2007.00879.x.]

Bessinger, S.R., and Westpahl, M.I., 1998, On the use of 

demographic models of population viability in endangered 

species management: Journal of Wildlife Management, v. 

62, no. 3, p. 821–841. [Also available at http://www.jstor.

org/stable/3802534.]

Bruch, R.M., Miller, Glenn, Hansen, M.J., 2006, Fecundity 

of lake sturgeon (Acipenser fulvescens, Rafinesque) in 

Lake Winnebago, Wisconsin, USA: Journal of Applied 

Ichthyology, v. 22, no. supplement 1, p. 116–118. 

[Also available at http://dx.doi.org/10.1111/j.1439-

0426.2007.00938.x.]

Colombo, R.E., Garvey, J.E., and Wills, P.S., 2007, Gonadal 

development and sex-specific demographics of the 

shovelnose sturgeon in the Middle Mississippi River: 

Journal of Applied Ichthyology, v. 23, no. 4, p. 420–427. 

[Also available at http://dx.doi.org/10.1111/j.1439-

0426.2007.00885.x.]

DeLonay, A.J., Jacobson, R.B., Papoulias, D.M., Simpkins, 

D.G., Wildhaber, M.L., Reuter, J.M., Bonnot, T.W., 

Chojnacki, K.A., Korschgen, C.E., Mestl, G.E., and Mac, 

M.J., 2009, Ecological requirements for pallid sturgeon 

reproduction and recruitment in the Lower Missouri 

River—A research synthesis 2005–08: U.S. Geological 

Survey Scientific Investigations Report 2009–5201, 59 p. 

[Also available at http://pubs.usgs.gov/sir/2009/5201/.]

Dryer, M.P., and Sandvol, A.J., 1993, Pallid sturgeon 

(Scaphirhynchus albus) recovery plan: Bismarck, N. Dak., 

U.S. Fish and Wildlife Service, 55 p.

George, S.G., Slack, W.T., and Hoover, J.J., 2012, A note 

on the fecundity of pallid sturgeon: Journal of Applied 

Ichthyology, v. 28, no. 4, p. 512–515. [Also available at 

http://dx.doi.org/10.1111/j.1439-0426.2011.01931.x.]

Heppell, S.S., 2007, Elasticity analysis of green sturgeon life 

history: Environmental Biology of Fishes, v. 79, no. 3, 

p. 357–368. [Also available at http://dx.doi.org/10.1007/

s10641-006-9052-1.]

Huenemann, T.W., 2014, Central Lowlands and Interior 

Highlands pallid sturgeon spawning and stocking summary 

1992–2013: Report to the Middle Basin Pallid Sturgeon 

Workgroup, 105 p.

Imanpoor, M.R., Alavi, S.H., and Cosson, Jacky, 2009, 

Relationship between biological characteristics of eggs 

and female brood stocks of Persian sturgeon Acipenser 

persicus—A comparison with other fish species: Fish 

Physiology and Biochemistry, v. 35, no. 4, p. 701–709. 

[Also available at http://dx.doi.org/10.1007/s10695-009-

9330-x.]

Jager, H.I., Van Winkle, Webster, Chandler, J.A., Lepla, K.B., 

Bates, Phil, Counihan, T.D., 2001, A simulation study 

of factors controlling white sturgeon recruitment in the 

Snake River, in Van Winkle, Webster, Anders, P.J., Secor, 

D.H., and Dixon, D.A., eds., Biology, management, and 

protection of North American sturgeon: American Fisheries 

Society, Symposium 28, August 23–24, 2000, 24 p.

Jager, H.I., Peterson, D.L., Farrae, Daniel, and Bevelhimer, 

M.S., 2013, A population model to assess influences on 

the viability of the shortnose sturgeon population in the 

Ogeechee River, Georgia: Transactions of the American 

Fisheries Society, v. 142, no. 3, p. 731–746. [Also available 

at http://dx.doi.org/10.1080/00028487.2013.763853.]

Keenlyne, K.D., Grossman, E.M., and Jenkins, L.G., 1992, 

Fecundity of the pallid sturgeon: Transactions of the 

American Fisheries Society, v. 121, no. 1, p. 139–140. 

[Also available at http://dx.doi.org/10.1577/1548-

8659(1992)121<0139:FOTPS>2.3.CO;2.]
20 Visual Basic, Excel-Based Fish Population Modeling Tool—The Pallid Sturgeon Example

Kennedy, A.J., Sutton, T.M., and Fisher, B.E., 2006, 

Reproductive biology of female shovelnose sturgeon in 

the Upper Wabash River, Indiana: Journal of Applied 

Ichthyology, v. 22, no. 3, p. 177–182. [Also available at 

http://dx.doi.org/10.1111/j.1439-0426.2006.00745.x.]

Mayden, R.L., and Kuhajda, B.R., 1997, Threatened fishes of 

the world—Scaphirhynchus albus (Forbes & Richardson, 

1905) (Acipenseridae), part 3 of Birstein, V.J., Waldman, 

J.R., and Bemis, W.E., Sturgeon biodiversity and 

conservation: Developments in Environmental Biology of 

Fishes, v. 17, p. 420–421. [Also available at http://dx.doi.

org/10.1007/0-306-46854-9_31.]

Morris, W.F., and Doak, D.F., 2002, Quantitative conservation 

biology—Theory and practice of population viability 

analysis: Sutherland, Mass., Sinauer Associates, Inc. 

Publishers, 480 p.

Nazari, R.M., Sohrabnejad, Mehdi, and Ghomi, M.R., 2009, 

The effect of maternal size on larval characteristics of 

Persian sturgeon Acipenser persicus: Aquaculture Research, 

v. 40, no. 9, p. 1083–1088. [Also available at http://dx.doi.

org/10.1111/j.1365-2109.2009.02202.x.]

Pine, W.E., III, Allen, M.S., and Dreitz, V.J., 2001, Population 

viability of the Gulf of Mexico sturgeon—Inferences from 

capture–recapture and age-structured models: Transactions 

of the American Fisheries Society, v. 130, no. 6, p. 1164–

1174. [Also available at http://dx.doi.org/10.1577/1548-

8659(2001)130<1164:PVOTGO>2.0.CO;2.]

Reed, J.M., Mills, L.S., Dunning, J.B., Menges, E.S., 

McKelvey, K.S., Frye, Robert, Beissinger, S.R., Anstett, 

Marie-Charlotte, and Miller, Philip, 2002, Emerging issues 

in population viability analysis: Conservation Biology, 

v. 16, no. 1, p. 7–19. [Also available at http://dx.doi.

org/10.1046/j.1523-1739.2002.99419.x.]

Shuman, D.A., Klumb, R.A., Wilson, R.H., Jaeger, M.E., 

Haddix, T., Gardner, W.M., Doyle, W.J., Horner, P.T., 

Ruggles, M., Steffensen, K.D., Stukel, S., and Wanner, 

G.A., 2011, Pallid sturgeon size structure, condition, 

and growth in the Missouri River Basin: International 

Symposium on Sturgeon, 6th, Wuhan, China, October 

25–31, 2009 [Proceedings], Journal of Applied Ichthyology, 

v. 27, no. 2, p. 269–281. [Also available at http://dx.doi.

org/10.1111/j.1439-0426.2010.01645.x.]

Steffensen, K.D., Pegg, M.A., and Mestl, G., 2013, Population 

prediction and viability model for pallid sturgeon 

(Scaphirhynchus albus, Forbs and Richardson, 1905) in 

the Lower Missouri River: Journal of Applied Ichthyology, 

v. 29, no. 5, p. 984–989. [Also available at http://dx.doi.

org/10.1111/jai.12277.]

U.S. Fish and Wildlife Service, 2003, Amendment to the 2000 

biological opinion on the operation of the Missouri River 

main stem reservoir system, operation and maintenance of the 

Missouri River bank stabilization and navigation project, and 

operation of the Kansas River reservoir system: Minneapolis, 

Minn., U.S. Army Corps of Engineers, U.S. Fish and Wildlife 

Service, 308 p.

Van Dyke, Fred, 2008, Conservation biology—Foundations, 

concepts, applications (2d ed.): Springer Science and 

Business Media, 478 p.

Van Eenennaam, J.P., and Doroshov, S.I., 1998, Effects of age 

and body size on gonadal development of Atlantic sturgeon: 

Journal of Fish Biology, v. 53, no. 3, p. 624–637. [Also 

available at http://dx.doi.org/10.1111/j.1095-8649.1998.

tb01006.x.]

Vélez-Espino, L.A., and Koops, M.A., 2009, Recovery potential 

assessment for lake sturgeon in Canadian designatable 

units: North American Journal of Fisheries Management, 

v. 29, no. 4, p. 1065–1090. [Also available at http://dx.doi.

org/10.1577/M08-034.1.]

Wildhaber, M.L., Albers, J.L., Green, N.S., and Moran, E.H., 

2015, A fully-stochasticized, age-structured population model 

for population viability analysis of fish—Lower Missouri 

River endangered pallid sturgeon example: Ecological 

Modeling. [Also available at http://dx.doi.org/10.1016/j.

ecolmodel.2015.07.019.]

Wildhaber, M.L., and Bryan, J.L., 2006, Ultrasonic and 

endoscopic examination of Lower Missouri and Lower 

Mississippi pallid sturgeon to determine sex and 2006 

broodstock potential: Yankton, S. Dak., U.S. Army Corps of 

Engineers, Threatened and Endangered Species Section, 12 p. 

Wildhaber, M.L., Yang, W.H., and Arab, A., 2014, Population 

trends, bend use relative to available habitat and withinriver-bend habitat use of eight indicator species of Missouri 

and Lower Kansas River benthic fishes—15 years after 

baseline assessment: River Research and Applications, v. 32, 

no. 1, p. 36–65. [Also available at http://dx.doi.org/10.1002/

rra.2846.]

Publishing support provided by

Rolla and Lafayette Publishing Service Centers
Moran and others—Visual Basic, Excel-Based Fish Population Modeling Tool—The Pallid Sturgeon Example—Open-File Report 2016–1009

ISSN 0196-1497 (print)

ISSN 2331-1258 (online)

http://dx.doi.org/10.3133/ofr20161009

I SBN 978- 1- 4113-4002- 2

9 7 8 1 4 11 340022