We present a model study of carbon monoxide for 1988-1997 using the GEOS-Chem 3-D model driven by assimilated meteorological data, with time-varying emissions from biomass burning and from fossil fuel and industry, overhead ozone columns, and methane. The hydroxyl radical is calculated interactively using a chemical parameterization to capture chemical feedbacks. We document the inventory for fossil fuels/industry and discuss major uncertainties and the causes of differences with other inventories that give significantly lower emissions. We find that emissions hardly change from 1988 to 1997, as increases in Asia are offset by decreases elsewhere. The model reproduces the 20% decrease in CO at high northern latitudes and the 10% decrease in the North Pacific, caused primarily by the decrease in European emissions. The model compares well with observations at sites impacted by fossil fuel emissions from North America, Europe, and east Asia suggesting that the emissions from this source are reliable to 25%, and we argue that bottom-up emission estimates are likely to be too low rather than too high. The model is too low at the seasonal maximum in spring in the southern tropics, except for locations in the Atlantic Ocean. This problem may be caused by an overestimate of the frequency of tropical deep convection, a common problem in models that use assimilated meteorological data. We argue that the yield of CO from methane oxidation is near unity, contrary to some other studies, based on removal rates of intermediate species.