Introducing GeoDataSync Framework

We are going to tell you about an exciting new tool that will extend the power of your interpretation system. Firstly, we describe what it is, who will likely want to use it together with some of the benefits.  Secondly, we describe in some detail with diagrams an important problem it solves.  Thirdly, we will explain what we mean by client server model.  Then we introduce the two main licensed modules "Develop" and "Deploy".  After that we demonstrate how easily you can get started with a short video.  Finally, we take a look into the future and outline a road map of how this technology could be extended.  Where we actually take it will be down to you our clients.


In a nut shell, GeoDataSync Framework provides a connection between core software systems which can save significant time and money.  It makes use of the same client server model which the internet was built on.  I will explain more fully what we mean by client server later. Let's for example consider Petrel* a powerful interpretation and modelling platform .  We can view Petrel as the server in our model.  On the client end we can place a high end programming platform.  Let's allow MATLAB® be our client.  Both of these systems are heavily used by Geoscientists and Engineers in the upstream oil and gas industry.  GeoDataSync Framework provides the glue that brings these systems together.  That is to say data can flow more easily, quickly and efficiently two or more systems.

Who's it for?

As mentioned there are two GeoDataSync Framework modules, Develop and Deploy. The user base for each is likely to be different.  Let's consider each in turn.

The Develop user is likely to be a geoscientist or engineer who is familiar with MATLAB or Python. Such users will also be working with Petrel.  The Develop user will be someone that routinely prototypes ideas and develops new algorithms. These users might wish to roll out their ideas to a wider user base.

The Deploy user, on the other hand,  will also be a geoscientist or engineer who works with Petrel. Such users don't need to be knowledgeable of either MATLAB or Python. However the Deploy user can benefit from applications created and distributed by the Develop user.


Let's list some of the benefits of ARK CLS GeoDataSync Framework.

In the latest release MATLAB and Python can connect with a live Petrel session.  The framework provides easy to use technology. This allows geoscientists or engineers to prototype ideas and develop proprietary applications. You will be able to work with and analyse your data in ways you never thought possible. Some of the benefits are:

  • Facilitating working with live software systems e.g. the Petrel shared earth software.
  • Allowing real time read/write access to data stored in the server system.
  • Fast almost instant for most data sets.
  • Easy to use.  So you don't need to be programmer.
  • No need for intermediate files. Consequently saving on resources.
  • Allowing prototype ideas and proprietary algorithms to be developed.
  • Ability for third party software companies or consultants to quickly use or build applications. Such applications will work seamlessly with interpretation systems.

Conventional solution

High level tools like MATLAB and Python are commonly used by geoscientists and engineers within the oil and gas industry. They do so to analyse data, prototype ideas, develop proprietary applications and to increase productivity.   Those who use these tools with the rich set of built-in functions frequently amaze their peers with what can be achieved with seemingly little effort.  This can lead to new powerful utilities being developed that can give an organisation a competitive edge and extend core systems.

Whilst MATLAB and Python are potent tools there is still the age old problem of efficiently getting access to the data.  Historically, importing data into and exporting data out of a system can be problematic.  Loading data to these tools can be the most time consuming part of a project.  The above diagram illustrates the workflow a user follows if they wish to enhance seismic data stored in an interpretation system then write the data back. Here's an example workflow:

  1. Export the data from an interpretation system in file exchange format (e.g. SEGY).
  2. Import that file into MATLAB or Python.
  3. Operate on data within MATLAB or Python (possibly the easy bit).
  4. Export the enhanced data again in a file exchange format.
  5. Finally import this enhanced data into an interpretation system.

This can be a lengthy, time consuming process. As such it is inefficient and uses more resources. Excess time is being spent on the data exchange process.  Time which could otherwise be spent on more detailed interpretation of the subsurface or other more beneficial tasks.

GeoDataSync Framework solution

We have seen in the conventional solution much time can be wasted in the seemingly simple task of exporting and importing data. Moreover using an intermediate file can introduce errors.  It is wasteful and inefficient.  Furthermore, the geoscientist or engineer being distracted by this task can loose focus. It would be better to use this time in a productive way.

Using the proven client server model developed for the internet our GeoDataSync Framework makes your time more productive.  Our unique solution enables you to work live with your interpretation system more efficiently.

Client server model.

What do we mean by client server model? Let's do this through an analogy with a hardware example.  Throughout the world we find electric sockets.  There are a number of different types.  Each type needs it own design of plug.  We can think of these as the servers. Indeed they are as they serve up electricity. On the other end we have various devices that need electricity to function.  So, in this hardware model these devices are our clients.  In our example our client device is a laptop.  However, for laptop to work in the different countries we need something more.  This is where a universal power adaptor comes in handy. Thus our laptop can connect to any power socket we might find.

We can see how a client server model works in our hardware example. Our GeoDataSync Framework is a software system.  However, the client server models works in much the same way.  On the server side we might have third-party applications and these are analogous to the electrical sockets. Petrel is such an example of a third party application.  Instead of electricity though, data is served.  On the server side we also need a plug.  In this model these become specially designed pieces of software that connect to the third party application.  On the client side is your high end programing tool, prototype or in-house built application.  GeoDataSync Framework provides the glue that binds it all together.

GeoDataSync Develop

Geoscientists, engineers and data scientists are the likely users of the GeoDataSync Develop module. These users will access data from a core system (e.g. Petrel) to analyse data, prototype ideas and/or develop applications. Such access comes without the problems normally associated with importing and exporting data. In this way, working either in MATLAB and/or Python, the GeoDataSync Develop user can now focus their efforts on the science. GeoDataSync Framework supports many different data types commonly found in the upstream energy sector. These include seismic, horizon, surface and wireline data.  We are continually adding support for more data types.  With a rich set of "get", "put" and "create" GeoDataSync Framework functions the Develop user has powerful tools at their finger tips.  We now working on providing a set of "control" functions to help manipulate objects displayed in the server system.

You won't be on your own if you want to license GeoDataSync Develop. Even at the evaluation stage ARK CLS will provide free of charge day of remote training.  This is done on a one to one or one to many basis.  Following successful evaluation with a license being acquired we then provide a further days training for each license purchased.

The only limit now is your imagination.  Give it a try you will be amazed how easy it is.

GeoDataSync Deploy

We could have stopped with GeoDataSync Develop. However, we wanted to give those geoscientists and engineers the ability to role out useful developed client applications to other asset team members.  The GeoDataSync Deploy module allows your staff, contractors and other affiliates to run GeoDataSync enabled applications.  These GeoDataSync Deploy users don't need to have knowledge of MATLAB or Python to run GeoDataSync enable utilities. Furthermore, the GeoDataSync user doesn't need to have access to MATLAB or Python to run the these applications. These compiled applications will be able to access data direct from the server system.  All you need is a GeoDataSync Deploy license.

When an organisation acquires a license of GeoDataSync Deploy ARK CLS will specifically configure the base module. In this way we would build a unique variant of GeoDataSync Deploy.  This will include:

  1. Name for an organisation's variant
  2. Unique icon specific for your GeoDataSync Deploy variant
  3. Unique license feature name
  4. Adding an identifier used in synchronising your client applications with the server

Our special configuration service is designed to provide protection to the licensee from possible misuse of in-house GeoDataSync Framework developed applications.  GeoDataSync enabled applications developed by an organisation will only run with your specifically configured GeoDataSync Deploy server.


GeoDataSync demo

Future development

By mid 2021 we will add a new GeoDataSync Framework server for OpendTect.  Internally we want to simplify how we connect our own software to interpretation systems.  So, it shouldn't be a surprise that we want to use our GeoDataSync Framework.  Therefore, later in 2021 we intend to develop C/C++ GeoDataSync client component bindings. This will allow us to build new C/C++ application software that works with all GeoDataSync enabled interpretation systems.  Furthermore, we will able to migrate our own legacy application software to this client server system.  We will make this update available externally.

So into 2022 and beyond we could add support for other interpretation systems. For example DecisionSpace and Kingdom.  What we actually work on will be driven by what the market needs and the funding model.  If you wish to steer the development then this can be achieved through sponsorship.  Sponsors would get preferential rates when it comes to licensing.  We are also prepared to develop proprietary GeoDataSync enabled servers.  Such work would be undertaken via our bespoke software service.