In the developed world, an ever better and finer understanding of the processes leading to natural hazards is expected. This is in part achieved using the invaluable tool of numerical modeling, which offers the possibility of applying scenarios to a given situation. This in turn leads to a dramatic increase in the complexity of the processes that the scientific community wants to simulate. A numerical model is becoming more and more like a galaxy of various sub-process models, each with their own numerical characteristics. The traditional approach to High Performance Computing (HPC) can hardly face this challenge without rethinking its paradigms. A possible evolution would be to move away from the Single Program, Multi Data (SPMD) approach and towards an approach that leverages the well known Object Oriented approach. This evolution is at the foundation of the POP parallel programming model that is presented here, as well as its C++ implementation, POP-C++.