Course Details

March 12-16, 2007
(begins 12pm Monday, ends 12pm Friday)
Smithsonian Environmental Research Center
Annapolis, MD
Steve Martell
Line Bang Christensen

To register for the course, please visit the registration page.

About the Course

AD Model Builder (ADMB) is a software tool developed specifically for non-linear parameter estimation, which facilitates efficient formulation of statistical models & more.

ADMB is the fastest and most powerful software for rapid development and fitting nonlinear statistical models to data. It is commonly used in the field of fisheries science and stock assessment, but it is useful for just about any parameter estimation problem that cannot be solved analytically. The software was developed by Dave Fournier (see Otter Research for the official website).

The workshop will be held on March 12th (noon) -- March 16th (noon) at the Schmidt Conference Center at the Smithsonian Environmental Research Center (SERC) in Edgewater, MD. Directions can be found here.

Participants should bring a windows laptop computer. A trial version of AD Model Builder will be distributed at the course.

For more information contact Line Bang Christensen (

Course Topics

  1. Installation of ADMB
    1. Text editors
    2. Syntax highlighting options
  2. Introduction to non-linear parameter estimation
    1. Dos and doníts in model specification
  3. Fitting models to data
    1. Definitions
      1. Data, parameters, differential variables
    2. Dealing with missing data
    3. Writing functions
  4. Vector and sub-vector operations
    1. Using indexing and subvector operations to avoid writing loops
  5. Using ADMB as a simulation tool
  6. Adding command line arguments
  7. Bayesian parameter estimation
    1. Using Markov chain Monte Carlo (MCMC) methods efficiently
    2. Likelihood profiling

How ADMB Works

AD Model builder is generally used to estimate parameters for non linear functions by fitting models to data. This entails generating a set of predictions based on unknown model parameters, then comparing the predictions to the observed data and adjusting the parameter values such that the differences between the observed and predicted states are minimized. For example, one may wish to estimate the parameters for the von Bertalanffy growth model e.g., La=Linf (1-exp(-k(a-to))). The data consist of length-age pairs for N number of fish. The growth model is used to generate a set of predicted lengths given the observed age and initial estimates of the growth parameters (Linf, K and to). A statistical description (otherwise known as the objective function in ADMB) is used to evaluate how well the predictions match the observations. A simple example of an objective function is the least squares criterion: SS=sum(obs-pred)2. In this case ADMB will search for combination of Linf, k and to that minimize squared difference between observed lengths and predicted lengths.

How the program works is: first you write a template ("*.tpl") file that contains instructions for reading data in from a data file, manipulating the data if necessary, code that represents your model structure and parameters you wish to estimate. The code is then translated into a "*.cpp" file using the TPL2CPP.exe program that is supplied with ADMB. This *.cpp file is then compiled and linked into an executable file by your compiler (Borland, MINGGW32, Visual Studio...). The result is a *.exe, or computer program that will read observed data from a file, then attempt to estimate model parameters by minimizing the objective funciton using a Newton-type non-linear search procedure. The *.exe file produces a *.rep file and *.par file where you can see values you specify to be printed out in the report section and the estimated model parameters.

What You Need to Run ADMB

  1. A text editor, such as notepad or word pad, to write your code in. We prefer to use a program called Textpad, as this program enables custom syntax highlighting . You can create your own syntax highlighting file (*.syn), or use tpl.syn, a file I have developed over the years, as well as use template files for quickly building new models.
  2. A C++ complier. Dave Fournier had developed his libraries to be used with the freely available MINGGW32 compiler and the Borland 5.5 compiler. Otherwise, you can use commercially available Microsoft Visual C++ compiler.
  3. A version of ADModel builder that corresponds to you compiler. Contact Dave Fournier at Otter Research to purchase his libraries, otherwise follow the links to download his demo versions that have limited capacity. Surprisingly, you can carry out some comprehensive analyses with this limited version. Go to ADMB Demo versions.

Registration & Cost

To register for the course, please visit the registration page. Upon submitting your personal information, you'll receive a confirmation email and will be sent an invoice to cover the course free of $300.

Location & Directions

The 2007 AD Model Builder Programming Course will be held at the Smithsonian Environmental Research Center (SERC) in Edgewater, MD. A short drive from Annapolis, SERC is the world's leading research center for environmental studies of the coastal zone. The course will be held in the Schmidt Center, SERC's on-campus conference and meeting facility.

If you are visiting SERC from afar, Baltimore Washington Internatinal Airport is the closest airport at about 35 miles from SERC. National Airport is also not far from SERC at about 35 miles.


The O'Callaghan Hotel is the official hotel of the AD Model Builder Programming Course. Located in the heart of downtown Annapolis, it is only a short drive from SERC. Recent room quotes place a regular room at $159 and a government-reduced room at $116. If you are a federal employee, be sure to bring official documentation to ensure tax exemption.

Contact information and location of the O'Callaghan and many other hotels in the Annapolis area can be found below:

The O'Callaghan Hotel
174 West Street, Annapolis, MD 21401
(410) 263-7700

Loews Annapolis Hotel
126 West St, Annapolis, MD 21401
(410) 263-7777

The Annapolis Inn
144 Prince George Street, Annapolis, MD 21401
(410) 295-5200

Annapolis Marriott Waterfront Hotel
80 Compromise St, Annapolis, MD 21401
(410) 268-7555

Best Western Annapolis
2520 Riva Rd, Annapolis, MD 21401
(410) 224-2800

Days Inn & Suites Historic Annapolis
2451 Riva Road, Annapolis, MD 21401
(410) 224-4317

Courtyard by Marriott
2559 Riva Rd, Annapolis, MD 21401
(410) 266-1555