Ships and wind turbines generate noise, which can have a negative impact on marine mammal populations by scaring animals away. Effective modelling of how this affects the populations has to take account of the location and timing of disturbances. Here we construct an individual-based model of harbour porpoises in the Inner Danish Waters. Individuals have their own energy budgets constructed using established principles of physiological ecology. Data are lacking on the spatial distribution of food which is instead inferred from knowledge of time-varying porpoise distributions. The model produces plausible patterns of population dynamics and matches well the age distribution of porpoises caught in by-catch. It estimates the effect of existing wind farms as a 10% reduction in population size when food recovers fast (after two days). Proposed new wind farms and ships do not result in further population declines. The population is however sensitive to variations in mortality resulting from by-catch and to the speed at which food recovers after being depleted. If food recovers slowly the effect of wind turbines becomes negligible, whereas ships are estimated to have a significant negative impact on the population. Annual by-catch rates ≥10% lead to monotonously decreasing populations and to extinction, and even the estimated by-catch rate from the adjacent area (approximately 4.1%) has a strong impact on the population. This suggests that conservation efforts should be more focused on reducing by-catch in commercial gillnet fisheries than on limiting the amount of anthropogenic noise. Individual-based models are unique in their ability to take account of the location and timing of disturbances and to show their likely effects on populations. The models also identify deficiencies in the existing database and can be used to set priorities for future field research.