How do I use LIMDEP?

LIMDEP is an econometrics package designed principally to estimate models with limited and qualitative dependent variables. It provides a wide variety of procedures for this purpose, and can report basic descriptive statistics, run standard linear models, and estimate nonlinear models and systems of equations. It also provides tools for writing and optimizing user-defined functions. Written by William Greene, author of Econometric Analysis, it is also the first package to incorporate recent developments in econometrics as standard routines.

LIMDEP is particularly well-suited for estimating variants of Tobit models, logit models, and probit models, although it is somewhat less powerful than other programs for data management tasks and estimating time series models. LIMDEP gets it name from "LIMited DEPendent variable models".

Profile Changes

Append :/usr/common/limdep/bin to the PATH variable in your .bash_profile file. For example, if your PATH variable is:


then it will look as follows after append:


Make sure to include the colon.


LIMDEP must always be run in the batch system (PBS) and not on the master node. The following command script gives the PBS (batch) command structure of a LIMDEP job:

# This is a PBS command file
#PBS -m be
set JOB = "limdep_command_file"
/usr/common/limdep/bin/limdep < "$HOME/$JOB.lim" >& "$HOME/$JOB.out"

A copy of the script has been placed in the directory /usr/common/limdep and may be copied to your home directory using the following commands:

cp -p /usr/common/limdep/limdep $HOME

Your copy may be customized. Each of the lines in the script is explained below:


Required. Do not change.

# This is a PBS command file.

Comment line. Not required. You may change it to reflect whatever is meaningful for you.

PBS -m be

This is not required but recommended for jobs that take a long time. Email will be sent to you UIC maildrop letting you know when the job starts, indicated by the b, and when the job completes, indicated by the e. It you want to receive mail only when the job completes, then use the following:

set JOB = "limdep_command_file"

The line is required but must be altered for your particular job. The name of your particular LIMDEP command file should replace the limdep_command_file within the quotation marks. For example, if the name of your LIMDEP file is called job1, then:

/usr/common/limdep/bin/limdep < "$HOME/$JOB.lim" >& "$HOME/$JOB.out"

This line is required but the redirection of input and output may be altered. The script assumes that your LIMDEP command file is in your home directory which is denoted by the environmental variable $HOME. If, instead, your command file is in a subdirectory below your home, then the script should be altered. For example, if your LIMDEP command file is in your data1 subdirectory, then change the < "$HOME/$JOB.lim" to:

< "$HOME/data1/$JOB.lim"

The same logic applies to output file redirection. If you want the output file also to go into the data1 subdirectory, then:

>& "$HOME/data1/$JOB.out"

To put the output file in your directory in the scratch filesystem, then:

>& "/scratch/$USER/$JOB.out"

Also, you are not restricted to using the $JOB.out name for job output; you may change it to whatever is meaningful.

Starting your LIMDEP job

To submit your PBS script to batch, enter:

qsub limdep

The command assumes that you did not change the name of the PBS script. However, if you renamed your copy to some other name, then that name should be the operand to the qsub command. For example, if you renamed the script to myfile, then

qsub myfile

The format of the above commands allow the batch system to decide on which of the compute nodes to run the job. If you want to use a particular node, then use the -l nodes= option. For example, if you want to run the job on argo1-1, then:

qsub -l nodes=argo1-1 limdep

Additional Help

Visit the LIMDEP website for additional information.

Need help?

Last updated: 

September 24, 2012

Browse by tag