BLOG
Driven by our passion and commitment to always spreading knowledge, we provide a casual article related to technology and earth science.
A Geologist’s Introduction to Object-Oriented Programming in Python: Using geological data to explain the basics of OOP
Object-Oriented Programming (OOP) is a programming paradigm based on the concept of “objects” (Wikipedia). A bunch of objects that are arranged into one group can be called a class. OOP can make the developer focus more on manipulating the object rather than manipulating the logic.
For example, in a showroom, there are various types of vehicles, as follows:
- One jeep has 4 doors, 4 wheels, and green color
- One motorcycle has no door, 2 wheels, and white color
- One minibus has 6 doors, 4 wheels, and red color
If we apply OOP concepts in this example, we can say that we have a vehicle class with 3 objects (jeep, motorcycle, & minibus), and each object has 3 different attributes (door, wheel, & color). But there are enough car analogies in this world already, so in this article, we will apply the OOP concept on geological data. Read more…
Python for Geoscientists: Beyond the machine learning
This day, almost all of our analysis is able to be processed by some particular software. Any kind of dataset, seismic, well log, and the other, any phase of analysis, pre-processing, processing, interpretation are covered. Unfortunately, many of us are not lucky enough to have access to this software or sometimes, the software owned by our organization does not cover the alternative method that we would like to try on the data. Referring to my past experience, I would like to encourage my fellow geoscientists to unleash the ability of this programming language beyond the SKLEARN module. There are plenty of Python’s modules that could be useful for us to do some simple geological and geophysical analysis to the advanced one. We can do from a simple rock physics cross plot to the petrophysical analysis / seismic inversion, or from reduce to pole filter on aeromagnetic data to subsurface magnetic body modeling. Read more…
Simple EDV & Two Way ANOVA Applications in Core Sample Data: Case Study from Volve Open Datasets
ANOVA (Analysis of Variance) is a statistical test that determines whether a parameter is significant to other parameters. ANOVA can be divided into two types: one-way ANOVA and two-way ANOVA. One-way ANOVA only tests the significance of one parameter, while two-way ANOVA can test the significance of more than 2 parameters. This article will focus on how to perform an exploratory data visualization followed by two-way ANOVA.
The data used in this article are from Volve Open Datasets, which will be used as a subset by taking only the density, permeability, and core sample parameters. Read more…
Creating Presentable Data Visualization with Altair: Case Study using Geothermal Heatflow Data
Altair is a python library that mainly focuses on declarative visualization. This library has a syntax that is concise enough to perform various visualizations. One of the significant difference between Altair and other visualization libraries is that Altair has one-liner coding properties, which does not require many coding lines to display various visualizations.
In this article, we will not elaborate on all the uses of Altair. Rather we will explore some interesting functionality that is suitable to be applied with our dataset. For the best visualization experience, please use Jupyter Lab or Jupyter Notebook IDE. Altair Installation can be done with
pip install altair
.
The data used in this article are part of the South East geothermal heat flow compilation data from Royal Holloway South East Asia Research Group. Read more…
Linear vs Non-Linear Dimensionality Reduction in Well Log Data: An Effective Way to Visualize and Interpret a Large Well Log Dataset
Dimensionality reduction is a common step for data processing. This process is useful for feature engineering or data visualization. Too many features in a dataset can complicate data visualization and analysis afterwards. Therefore, dimensionality reduction is needed to overcome this problem.
Dimensionality reduction does not automatically reduce the existing features. This method will first summarize all features in a dataset into several components according to the algorithm we use. There are two different methods in dimensionality reduction: Linear (Principal Component Analysis) or Non-Linear (Manifold Learning). In this article we will implement and compare these two methods using well log data. Read more…