Maxwell School, Syracuse University

Using Gridcity

PPA 786
 Urban Policy
Professor Yinger



Gridcity is a computer program, written explicitly for students in urban policy and urban economics, that solves an open urban model with many work sites and many types of households. This handout gives general instructions for running Gridcity. Additional instructions are given by the program itself.

Although the calculations performed by Gridcity are not transparent, the program simply contains a formal version of the bid-function logic discussed in class sessions. Households bid for housing (and hence for land), and each location is inhabited by the group that bids the most there.

Three features of the urban area in the Gridcity program are worth noting. First, Gridcity is based on a grid-like transportation system that consists of vertical and horizontal streets, instead of the more common transportation system in urban analysis that has many spoke-like streets coming out of the central business district. Second, Gridcity assumes that each mile-square block of the urban area is essentially homogeneous, although more than one group might locate in a block under some circumstances. Third, Gridcity can be solved with more than one work site and with many different types of households. This last feature makes Gridcity very flexible.

Starting Gridcity

  1. Use Windows Explorer to find the program, GRIDCITY.EXE on the “classes on ‘commons’” drive.  It is in the "John Yinger" directory and the “PPA 786 Urban Policy” subdirectory.  You can run the program by simply double clicking on it. However, if you run it this way you will not be able to save any output for later printing.

  2. To be able to save output, you must use Windows Explorer to copy GRIDCITY.EXE to a disk. Then run the version on the disk. To run this version, go to drive a: in Windows Explorer and double click on the program. (You can also highlight the version of GRIDCITY.EXE on drive a:, click on FILE in the command line, and then click on RUN.) The Gridcity program will then take over and give you all the instructions you need.

  3. There is no guarantee that the program will run on your home computer. If it does not, please simply run it in the Eggers computer room.

  4. If you create any output files using GRIDCITY, they will be written on the default drive, assumed in these instructions to be drive a:. These output files are ASCII files. You can print them by reading them into a word processor, such as Microsoft Word. Open the output file you want to print. Change the font to Courier, 9 point. Then print the file. Note: The reason you should change the font is that many fonts, including the default font in WORD, use proportional spacing, that is, they do not use the same horizontal space for each letter, which throws off the spacing on the Gridcity maps. The maps can still be read with proportional spacing, but they look a funny. Switching to Courier, which does not use proportional spacing, avoids this problem (and the 9 point size keeps the map on the page).

Running Gridcity

Once Gridcity has been started, it explicitly asks for all the information it needs and tells you how to proceed. Here are a couple hints to keep you on track.

  1. Don't enter a letter when the computer asks for a number; this may cause an error and you will have to start your run again (although the program includes error checks to try to prevent this). Pay attention to what the program asks for. If it is making a query, answer yes (either Y or y) or no (N, n, or simply the "Enter" key). If it is giving you a list of options identified by number, enter the number of your choice. If it is asking for the numerical value for a parameter, enter the number you have selected or, as the program explains, enter a zero to select the default value of the parameter. If you inadvertently hit a letter when a number is called for, simply use the backspace key to erase what you have entered; your entry is not finalized until you hit the Enter key (also called the "Return" key).

  2. Note that in answering queries, you can answer "no" simply by hitting the enter key. This feature allows you to speed through queries that you want to skip. If you answer a query with an entry other than Y, y, N, n, or the Enter key, the program responds with an error message. 

  3. Gridcity asks for the values of many parameters. Some of these parameters, such as the number of work sites or the number of households, are easy to interpret. Others, such as the "constant in the housing production function" or the "rental rate for capital" are more confusing. Don't worry, however, because the program will help you to select values for all the parameters, including the confusing ones. Perhaps the most important type of assistance the program gives you is in providing default values for all the parameters. These default values can be used if you are not sure what to enter (although you must change some values for the assignment). A good way to see how the program works is to make a first pass using only default values.

    You can select the default values in one of two ways:
    (1) The first method is to select default values in groups. The data entry phase of Gridcity is divided into four steps. Step 1 covers the work site parameters; step 2 covers the household parameters; step 3 covers the housing production parameters; and step 4 covers the utility parameters. At the beginning of the first three steps, the program asks you if you want to use the default values for the parameters covered by that step. If you answer yes, all those parameters will be set at their default values. If you answer no, the entire group of parameters will not be set at their default values, but individual parameters can still be set at their default values using the second method.

    For step 4, you have more options. You can use all the default values of the parameters or you can let the program calculate new values for the utility parameters. Follow the second route if you have not used default values for other parameters at earlier steps in the program.

    (2) Whenever the program asks for the value of a particular parameter, you can select the default value for that parameter by typing 0 (zero).

  4. Here are a few guidelines to help you select sensible parameter values:

    (a) Unless you have a good reason (such as an instruction in the homework!) for changing a parameter, it is a good idea to stick with the default value.

    (b) One of the first things the program does is offer to list all the default values for you. Take a look at the default values to determine what types of values make sense.

    (c) If you want to change a parameter, pick a new value that is not very far from the default values. You can get some crazy solutions to this model if you pick extreme values for the parameters.

    (d) Minimize the contrasts between your different household types. Don't give one household an income of $500 per day and another an income of $50 per day--a ratio of 10 to 1. A more sensible contrast would be say that a rich household has twice the income of a poor household, say $200 to $100.


  5. It may take a few runs through the program to obtain a sensible looking city. Gridcity solves an open urban model, which means that the household utility levels are treated as parameters. Selecting the right values for the utility levels is tricky, however, and you may have to experiment a bit to get the values you want. Don't worry, however, because the program gives you lots of help in finding the right values.

    For example, if a particular household type's utility level is set too high, its bid-rent function may not be high enough to outbid any other households at any location. The result is that this household type will be "homeless," or, to be more precise, it will only live in urban areas other than the one you are creating. (This usage of "homeless" is not the same as standard usage!) The way to solve this problem, that is, to make sure that this household lives somewhere in the urban area, is to lower its utility level. The program will tell you exactly how far you have to lower it to ensure that this type of household has a place to live.

  6. Because it was programmed by an amateur (namely your professor), Gridcity undoubtedly is not foolproof. Although it has many safeguards built in and is designed to give you some help in selecting your parameter values, it may not have safeguards for all the entries you will think of.

    If you make a mistake and want to start over, you probably have to finish the run you are working on. Simply make the easiest choices (e.g. sticking with default values) for the rest of the run. Then you can start over. If you get an error and the program bombs out on its own, just try again. It is undoubtedly a good idea to keep track--on paper--of the parameter values you have entered so you will not lose any work you have done (or repeat any mistakes you have made).

    If you run into a problem with the program that you think might affect other students, please bring the problem to the attention of the instructor. You may bring up such problems at the beginning of class.


  7. Although Gridcity is flexible, it does have limitations that you should be aware of. Perhaps the most important limitation is that it confines the urban area to a grid that is 25 miles on a side. If you place a work site near the edge of this grid, the program does not locate any households outside the grid even if they outbid agriculture there. In fact, the program simply ignores all locations outside the grid. Thus your results may be unrealistic (because they ignore residential areas outside the grid) if you place work sites near the edge.
    A good rule of thumb is to place the CBD in the middle of the grid (with X- and Y-coordinates equal to 13) and any other work sites at least 7 blocks away from the edge of the grid (that is, with X- and Y-coordinates between 7 and 18). In addition, your household map tells you if this "spillover problem" exists in the urban area you have designed. To be specific, this problem exists if many of the blocks along the edge of the urban area are residential. To minimize or eliminate this problem, you can raise the agricultural rental rate (the simple solution) or move your work sites farther from the edge (the more difficult solution). 

  8. Gridcity provides (if you request it) a great deal of output. This output is stored in computer files with names you supply. The most important output files are the urban map, which indicates the location of each work site and each type of household, and the summary file, which summarizes the parameter values you selected (as well as the populations of each household type). Some of your problem sets will ask you to print out the file containing the household map.

    Although the other output files will not in general be required for the problem sets, you may find some creative ways to use them. If you have access to a program that plots three-dimensional graphs, for example, you could plot three-dimensional rent or price graphs that are the analogs to the two-dimensional rent- and price-distance functions in the spreadsheet programs.


Trustee Professor of Public Administration and Economics