The paper discusses a carefully designed model program and its complementary complete description of all of the physical and mathematical concepts used in the model. The model program consists of a series of independent subroutines called modules. Modules are grouped by hydrologic function into 'packages. ' A report describing the model was written in three levels. At one level the hydrologic concepts on which the model is based are explained. The second level describes how the concepts were incorporated into the program. The third level describes specific modules in sufficient depth to permit modifications to the model.