The IVAAP data model was created after researching the commonalities between the industry data models. However, when we built it, we kept in mind that each data store carries its own set of information, information that is useful for users to consume. This is why we made “properties” a part of the data model itself. From an IVAAP SDK point of view. “Properties” is a set of name-value pairs that you can associate with specific entities within the IVAAP Data Model.
One of the productivity features of the IVAAP Data Backend SDK is that the services developed with this SDK are container agnostic. Practically, it means that a REST service developed on your PC using your favorite IDE and deployed locally to Apache Tomcat will run without changes on IVAAP’s Play cluster. While the Data Backend SDK is traditionally used to serve data, it is also a good candidate when it comes to developing non-data related services. For example, as part of IVAAP 2.8, we worked on a “gridding” service. In a nutshell, this service computes a grid surface based upon the positions of a top across the well of a project. When we tested this service, we didn’t deploy it to IVAAP’s cluster, it was deployed as a standalone application, as a servlet, on a virtual machine (VM).
One of the unique capabilities of IVAAP is that it works with the cloud infrastructure of multiple vendors. Whether your SEGY file is posted on Microsoft Azure Blob Storage, Amazon S3 or Google Cloud Storage, IVAAP will be capable of visualizing it.
As the use cases of IVAAP grow, the implementation of the data backend evolves. Past releases of IVAAP have been focused on providing data portals to our customers. Since then, a new use case has appeared where IVAAP is used to validate the injection of data in the cloud. Both use cases have a lot in common, but they differ in the way errors should be handled.
When doing demos of IVAAP, the wow factor is undeniably its user interface, built on top of GeoToolkit.JS. What users of IVAAP typically don’t see is the part accessing the data itself, the IVAAP backend. When we designed the IVAAP backend, we wanted our own customers to be able to extend its functionalities
Feedback is key to the improvement of any software. INTViewer has many long-time users, and one piece of feedback that I sometimes receive is that “it takes too many clicks to reach an often-used feature.” Fortunately, with many years of real-world usage under its belt, the usability of INTViewer has been fine-tuned. These “missing” shortcuts are already built-in, I just didn’t do a good job communicating these improvements to our users. So here is our list of the 5 most overlooked INTViewer shortcuts.
2019 has been a year full of milestones. INT celebrated its 30 years and has made IVAAP available to all members of the OSDU consortium as part its demo release. But this year has seen many more achievements, and among them is the consolidation of INT products as a complete ecosystem, an ecosystem centered around geoscience data, built for the cloud.
Working at INT for 10 years, what has made me show up every morning has been the deep technical aspects of the job, the products I have been able to work on, and the people I interact with. Frankly speaking, these 10 years were also possible because developers at INT are seen as an investment, not a cost. Unlike other companies, INT has a strong will to weather tough economic cycles without shrinking its staff. I have grown with INT, and we both keep growing together.
Programming is an activity that requires a special set of cognitive skills. While the industry has developed processes and tools to ensure the quality of software artifacts, the act of writing code is a craft in itself. Developers pride themselves on the “big picture” results they achieve, but the activity of programming is definitely a humbling experience: it’s easy to introduce bugs, and regardless of whether I catch them right away or later in the pipeline, I hate to be reminded I am inherently flawed and have introduced a defect. For this article, I will focus on simple methods to avoid bugs, not before or after you write code, but while you write that code.
One of the unique features of the IVAAP backend SDK is that you can develop your own data connectors and services with the IDE you are already familiar with. The data backbone of IVAAP is meant to be deployed in a cluster made of multiple nodes for scalability and reliability. However, despite the distributed nature of such a deployment, our SDK requires no particular plugin to compile or execute your code. The tools needed to develop a plugin for IVAAP’s backend are identical to the tools you would need to develop classic Java Servlets: a Java SDK (Oracle, OpenJDK), an IDE (Eclipse, NetBeans) and an application server (Tomcat, Glassfish).
IVAAP was not just meant to be a web application “built for purpose”—we wanted it to be a platform that customers can extend on their own. With this goal is mind, the first component that we picked for IVAAP’s architecture was a “lookup” system. This system makes IVAAP easy to learn, yet versatile, and devops appreciate that they can leverage it when a fast turnaround is needed.
It’s been two years since Oracle announced the donation of the NetBeans source code to the Apache software foundation. This move was much more than a licensing change — it was a bit of a new beginning for NetBeans. With the release of NetBeans 10, now is a good time to look back and recognize the changes that this transition to Apache brought.
While some customers will use the portability of INTViewer to present their data, others will use INTViewer on a workstation, with multiple monitors. And instead of opening a handful of windows, they will open a few dozen. The typical use case for opening a large number of windows is when you want to monitor the multiple steps of a processing workflow. In such a use case where datasets are compared, it’s important that all visualizations share the same settings. INTViewer makes it really easy to open dozens of datasets at once. You can select a directory and open in one click all the datasets within that directory. But this is not where INTViewer’s productivity stops. Automatic synchronization facilitates the management of all these windows.
The purpose of IVAAP’s backend is to access data from many data sources and present this data in a unified manner to the IVAAP HTML5 client. Performance is key, and some data stores are faster to access than others. In a web service configuration, a smart caching strategy is required so that the same web/HTTP calls are not made to the same data store twice while a service request is being fulfilled, regardless of its complexity. This is where the concept of scope comes in.
I often have a hard time explaining to friends and family what exactly INTViewer does. The moment I use the word “seismic,” the listener's mind automatically shifts to the topics of seismic activity and earthquakes, and I need to explain oil & gas exploration technologies before I even get to the software. By then, I have lost my audience. Today, I’ll try a different technique: I’ll describe the capabilities of INTViewer that actually cater to earthquake mapping. I will show how you can use the built-in capabilities of INTViewer to map recent earthquake activities.
I often say that INTViewer is a bit of Swiss knife. It serves multiple purposes, and each company finds a different use. This makes it hard to decide which feature to highlight. In the past few years, as the industry moved to the cloud, we created a companion for INTViewer: INTGeoServer, which makes it easy to visualize data beyond the bounds of your network. This year, with the new release of INTViewer approaching, I will highlight the opposite feature of INTViewer: its ability to work offline, disconnected from the world.
Two decades after its creation, the Java runtime has finally become modular. A modular approach not only makes dependency management easier, but it also makes applications more efficient as unused modules don’t need to be loaded. The NetBeans Platform predates Java 9 and has been using its own module system for years. Since INTViewer is a desktop application built on top of the NetBeans Platform, I find that it is far superior to the Java 9 module system for my use cases.
With the explosion of storage capacity, cloud computing, and bandwidth availability, a trend has emerged in the oil and gas industry over the last few years. Data that was previously aggregated and discarded is now maintained and stored, creating an opportunity for the industry. Coupled with new advancements in machine learning and Al, this data availability is poised to drive more data driven decision making in well planning, drilling & completions, and well operations.
INTViewer provides a graphical user interface for the SU library, reducing the learning curve. The Seismic Workbench is a free plugin that has the documentation for the SU library built in, making it easy to find a particular command and all the parameters that this command requires. INTViewer builds the full command line for you based upon all individual commands selected.
Storing and accessing large, sometimes sensitive geoscience data is one challenge many top E&P companies face. Local data storage is one option. But what about data that is not stored locally? How do you access it quickly, and can you still use INTViewer?
A major feature of INTViewer 5.2 is the Python integration. Our development team worked very hard to ensure that our customers can get started easily and be productive once they are hooked. One consistent user feedback was that the Python terminal lacked autocompletion. It could become tedious to have to type the full name of each class, each method or each variable. We took this feedback to heart and implemented autocompletion in INTViewer 5.2.
I have been using NetBeans daily for about 8 years, so I'd say I am pretty familiar … with the features I use all the time. Over the years, friends and colleagues have shown me that there are faster ways to get the job done. I have gathered in this post three shortcuts that I learned from others and that you can also use when you develop an INTViewer plugin.
In our blog post on Microsoft Azure, we describe various ways customers can move their data to the cloud. In the configuration where INTViewer is hosted on a remote server and needs to be accessed from a local workstation, a Teradici client is one solution. These configurations are increasingly popular with our customers. For performance […]
Horizon picking is a feature that INTViewer has included from the start. However, after discussing with several long-time users, I have found that the evolutions brought by each release can be missed. The release of INTViewer 5.2 is a good opportunity to tour basic picking options. First, a bit of terminology. The term “horizon” in […]
In our post, “Closer Look at Coordinate Conversions,” we allude to the capabilities of INTViewer with coordinate system conversions. One benefit of on-the-fly conversions is the ability to see your seismic data in context. In the example below, a time slice is reprojected to the coordinate system used by Google Maps. Showing satellite […]
INTViewer is well-known for its seismic analysis capabilities. Among the less well-known plugins, there is a set that always impresses during demos: the microseismic plugins, a set of four plugins that allows INTViewer users to visualize microseismic events.
If you are already a user of INTViewer, the first thing you will certainly notice when you open INTViewer 5.2 for the first time is the new window system. The way windows are laid out on screen has changed, introducing tabs to browse through these windows.
INTViewer makes coordinate conversions virtually transparent to users. Users pick two Coordinate Reference Systems (CRS), one for their data and one for the visualization map, and the visualization updates automatically. How does INTViewer do it? The short answer is “it depends”. The long answer is that the strategy used varies based upon the CRSs selected, […]
The cloud is not just a set of computing resources hosting web based-applications. Microsoft Azure can also be used to host what we know today as desktop PCs. Constant availability and unlimited storage are just two of the numerous advantages of hosting your PC on the cloud.
Microsoft Windows has a standard dialog to choose and save files, but this is not an optimal way to navigate your file system from within your application. INTViewer addresses this issue.
The Normalization widget is one of the new tools in INTViewer 5.2. It shows graphically how your current selection relates to the minimum and maximum amplitudes of the entire dataset. There are several normalization options in INTViewer: RMS, Maximum, Limits, etc.