A constitutive theory of snow is developed to describe the mechanical properties of snow in terms of the properties of the ice grains and the necks that interconnect them. The principle of virtual work is used to calculate the stresses in the particles and necks. A number of different deformation mechanisms are investigated and, depending upon the deformation mechanism which is dominant for given load conditions, different equations are used to calculate the strains in the grains and necks. These strains around a representative ice grain are then averaged and scaled to obtain the global strains in the snow. The theory is then compared with experimental data to determine if the mechanical properties of snow can be adequately represented. Results show that the constitutive theory does work, but that it is cumbersome to implement, and that for practical use substantial computational capability is needed.