whitson+ in the cloud … with diamonds

Author: Markus Blytt

With the creation of Fortran during the 1950s and 1960s, computer science took a giant leap in the direction of popularizing the art of coding. Today, Fortran is considered an ancient language, mainly because of two things: (1) a wide range of much more high-level programming languages exist, making it easier for “average Joe” to develop and deploy code, (2) computers that are many orders of magnitude faster, leaving low-level compiled code with a smaller edge as they are mainly used to run code as fast as possible.

whitson was founded in 1988, when run-time was still one of the biggest concerns in code development. Naturally, Fortran was a central piece of the company’s code development at that time. However, as computer science have seen one of the largest advancements during the last decades, whitson also needed to adapt to this rapid change. Today, python and C++ are much larger part of whitson’s code base, making deployment routines, bug hunting and development of new code much faster.

Over the last decade, an industry cross-wide focus has been “the cloud”, and in July 2020 we launched whitson+, a fully cloud-based software for petroleum engineering related calculations (PVT, BHP, RTA, DCA and reservoir simulation). Even challenging the standard “one-seat license model”, we decided to make whitson+ with a company-wide subscription model, allowing data centralization and accessibility for the entire company. Our cloud solution is one of the cornerstones for making this possible. Everything from streamlined deployment routines, to databasing, backups and security handling creates the fundament for much more agile solution, benefiting the entire industry.

One of our main advancements of “the cloud” is that your computer is not doing the heavy lifting. Every calculation is being sent through our queue system in the cloud. The queue system is called Google Cloud Pub/Sub, or just “pubsub”, and is a central ingredient in the whitson+.

Whenever a parameter used in a whitson+ calculation is changed, a new payload is being sent to the relevant pubsub. The payload contains all relevant input to do the calculation (e.g., temperature, fluid composition, process train etc.). On the other side of the pubsub, there is always at least 4 computers “listening” to the pubsub. As a payload enters the pubsub, the first computer available will pull and read this payload, launch the relevant calculations, and send the output back to the user. Finally the results are stored in the client’s central database, making the calculation available for all other users within the clients domain (e.g. goodenergycompany.whitson.com).

Now, let us say that a client has 100 wells and launches a new calculation for each of them at the same time. 100 payloads enter the pubsub and the 4 computers at the other side will start to pull the payloads. As a computer finishes a calculation, it will immediately pull the next one until there are no payloads left in the pubsub. Let’s say each calculation takes around 5 seconds, the calculations for all 100 wells will only take about 2 minutes. The pubsub keeps track of all payloads, and works as a temporary storage for all inputs needed for calculations. This allows a client to launch as many calculations as desired, without having to fear low memory or CPU on their own computer, as everything is immediately stored in the pubsub, and thereafter being processed by more powerful cloud computers.

Utilizing the pubsub strategy for all of our heavy calculations ensures that whitson+ is very scalable. As the number of clients increase, together with demand for computational power, it is merely a manner of acquiring more machines for us to keep up with the traffic. The installation on a new machine takes less than 5 minutes. In addition, we are also using “private” pubsubs for development and bug hunting. Whenever a client has problem it is only matter of changing the pubsub to where a calculation is being sent. Meaning, whitson’s developers can redirect a calculation to their own computer and immediately start the bug hunting process.

Read more about Google Cloud Pub/Sub here: https://cloud.google.com/pubsub


Learn more about our consulting capabilities

Curtis Hays Whitson

Kameshwar Singh

Middle East
Ahmad Alavian

Mathias Lia Carlsen

About whitson
whitson supports energy companies, oil services companies, investors and government organizations with expertise and expansive analysis within PVT, gas condensate reservoirs and gas-based EOR. Our coverage ranges from R&D based industry studies to detailed due diligence, transaction or court case projects. We help our clients find the best possible answers to complex questions and assist them in the successful decision-making on technical challenges. We do this through a continuous, transparent dialog with our clients – before, during and after our engagement. The company was founded by Dr. Curtis Hays Whitson in 1988 and is a Norwegian corporation located in Trondheim, Norway, with local presence in USA, Middle East, India and Indonesia