Client

Technologies Used

Ocean Framework, C++, Qt, C#

The Situation

CGG (now Viridien), together with Petrobras, was developing a solution for one of the central challenges of modern geophysics in the context of 4D Seismic: generating, from the result of a numerical reservoir simulation, a synthetic seismic cube corresponding to a given time step of the simulation. This synthetic cube can then be compared with the actual seismic acquired in the field, enabling history matching and refinements of the simulation model through quantitative analysis between modeled and observed behavior.


The core of this capability was being built in the form of the S2S (Simulator-to-Seismic) library, written in C++ with its own Qt graphical interfaces. The library was scientifically robust but operated outside the Petrel environment, hindering its use in the standard workflow of reservoir and geophysics teams.


The Challenge

The challenge was twofold. On the S2S library side, it was necessary to contribute to the development and maturation of the C++ numerical core, in direct collaboration with CGG's technical teams. On the Petrel side, a solid bridge had to be built between S2S and the modeling environment, so that teams could trigger synthetic seismic generation, parameterize the algorithms, and analyze the results without leaving Petrel.


All of this while preserving S2S's native Qt graphical interfaces, avoiding the cost of reimplementation and maintaining visual and functional consistency with CGG's ecosystem.


The DeepSoft Solution

DeepSoft operated on two complementary fronts.


On the first front, the team contributed directly to the development of the S2S library, adding C++ engineering capacity to the numerical core that performs the full transformation between the reservoir simulation domain and the synthetic seismic domain.


On the second front, the team developed the SeisFlow plug-in for Petrel, using the Ocean Framework to build the bridge between S2S and the Petrel environment. The chosen architecture allows the user, from within Petrel, to:


- Execute the algorithms of the S2S numerical core directly on Petrel project data.
- Use S2S's native Qt graphical interfaces, now launched and integrated from within Petrel, with no manual data transfer.
- Combine S2S features with Petrel's algorithms and visualization tools in a single workflow.


The integration layer was built in C# on top of the Ocean SDK, ensuring smooth communication between Petrel's .NET ecosystem and the C++/Qt core of S2S.