POP-C++ is an implementation of the POP programming model (POP stands for Parallel Object Programming) as an extension of C++. The POP programming model is based on the very simple idea that objects are suitable structures to distribute data and executable code over heterogeneous distributed hardware. In the POP programming model sequential objects and parallel objects co-exist and cooperate during parallel applications execution. Sequential objects are traditional objects as found in standard sequential object-oriented programming languages such as C++ or Java, while parallel objects are a new type of objects that can be remotely executed. Programmers can guide the remote resource allocation for each parallel object through high-level resource requirement descriptions. The object creation process, supported by the POP-C++ runtime system, is transparent to programmers. Both inter-object and intra-object parallelism are supported through various method invocation semantics. The POP-C++ programming language extends C++ to support the parallel object model with just six new keywords. POP-C++ is free software, it can be redistributed or modified under the terms of the GNU General Public License as published by the Free Software Foundation. It is available on the “Grid and Ubiquitous Computing Group” web site and on the Source Forge Open Source software development web site.
Alpine3D is a model for high resolution simulation of alpine surface processes, in particular snow processes. The model can be driven by measurements from automatic weather stations or by meteorological model outputs. The core three-dimensional Alpine3D modules consist of a radiation balance model (which uses a view factor approach and includes shortwave scattering and longwave emission from terrain and tall vegetation) and a drifting snow model solving a diffusion equation for suspended snow and a saltation transport equation. The processes in the atmosphere are thus treated in three dimensions and coupled to a distributed one dimensional model of vegetation, snow and soil model (Snowpack) using the assumption that lateral exchange is small in these media. The model is completed by a conceptual runoff module. The model modules can be run in a parallel mode, using the POP-C++ toolkit, using a grid infrastructure to allow computationally demanding tasks. Alpine3D is a valuable tool to investigate surface dynamics in mountains and is currently used to investigate snow cover dynamics for avalanche warning and permafrost development and vegetation changes under climate change scenarios. It could also be used to create accurate soil moisture assessments for meteorological and flood forecasting.