Python Bootcamp For Geoengineers
Python source codes and notebooks from my courses I've given to SPEs and in Marietta College, Ohio, US
Install / Use
npx skills add yohanesnuwara/python-bootcamp-for-geoengineersInstalls into whichever agent you are using.
README

This repository contains all Python source codes, notebooks, and data that I use for my course I've given to SPE student chapters and in PioPetro (Marietta College, Ohio, US). Topics of these courses revolve around basics of Python programming and applications in exploration and production.
SPE Trisakti SC Course (13 September 2020)
This course consisted of 3 sessions in 1 day; first session about basic Python programming, second session about Python application in exploration (basic well-log analysis); and third session about Python application in production (basic decline curve analysis of production data).
|Session|Topic|Video|Source code| |:--:|:--:|:--:|:--:| |1|NumPy, Matplotlib, Pandas, and Scipy|Lecture video (Play until 38:21)|Notebook| |2|Basic well-log data analysis|Lecture video (Play until 2:30:29)|Notebook| |3|Basic decline curve analysis|Lecture video (Play until 3:13:35)|Notebook|
SPE Port Harcourt Section Course in Nigeria (November 2020)
This course consisted of 3 sessions in 1 month; first session about basic Python programming and well-log analysis, second session about material balance analysis; and third session about well-test analysis. There were also coding assignments after this course.
|Session|Topic|Video|Source code|Assignment|Solution |:--:|:--:|:--:|:--:|:--:|:--:| |1a|NumPy, Matplotlib, and Pandas|Lecture video (Play until 1:35:20)|Notebook||| |1b|Advanced well-log data analysis|Lecture video |Notebook|Notebook|Notebook| |2|Material balance analysis|Lecture video|Notebook||| |3|Well-test modeling and analysis|Lecture video|Notebook|Notebook|Notebook|
PioPetro Course in Marietta College, Ohio, US (February 2021)
This course consisted of 4 sessions in 1 month; first session about basic Python programming, second session about production data analysis; and third session about exploration data visualization of well-log data, wellbore trajectory, and natural fractures; and fourth session about decline curve analysis and production forecast. This course was held as part of the Summer Internship Program.
|Session|Topic|Video|Source code| |:--:|:--:|:--:|:--:| |1|NumPy, Matplotlib, Pandas, and Scipy|Lecture video|Notebook| |2|Production data analysis|Lecture video|Notebook| |3|Exploration data visualization: </br> well-log, trajectory, natural fractures|Lecture video|Notebook| |4|Basic decline curve analysis and forecast|Lecture video|Notebook|
<!-- Python Bootcamp for Geoengineers is a GitHub repository that stores all of available materials to start learning and working with Python for needs in oil and gas exploration and production, energy sector, and geoscience. This repo also stores all Jupyter notebooks that I give training to several SPEs student and professional sections. Some materials also linked to other repos and packages that I created (e.g. *PyReservoir* and *PyReSim*) where they're used. ## Contents: * **Workshops and Training** * [Introduction to Python for Exploration and Production Course](https://github.com/yohanesnuwara/python-bootcamp-for-geoengineers#1-introduction-to-python-for-exploration-and-production-course-notebook) * [Geoscience, Exploration, and Production Automation with Python](https://github.com/yohanesnuwara/python-bootcamp-for-geoengineers#2-geoscience-exploration-and-production-automation-with-python) * **Talks** * [Python Awareness in Exploration and Production for Students and Professionals](https://github.com/yohanesnuwara/python-bootcamp-for-geoengineers#1-python-awareness-in-exploration-and-production-for-students-and-professionals-notebook) ## Workshops and Training ### 1. Introduction to Python for Exploration and Production Course ([Notebook](https://colab.research.google.com/drive/1NKjTuP16JeX8a1lvS2bRaqSCEnhGzFZD?usp=sharing)) This is a 1-day (3-hour) workshop I gave with SPE Trisakti Student Chapter, Indonesia, in September 13rd, 2020. Around 450 participants registered for this training session. [<img src="https://user-images.githubusercontent.com/51282928/91654109-81343180-ead0-11ea-898d-4c43c199fa14.png">](https://colab.research.google.com/drive/1NKjTuP16JeX8a1lvS2bRaqSCEnhGzFZD?usp=sharing) **Topics discussed:** *To start learning the following curriculum, see inside the notebook link provided above.* * Intro to Numpy, Matplotlib, Pandas, and Scipy * Python for Exploration * Streaming well log and seismic data from open geoscience data * Visualize well log data * Basic exploratory data analysis (crossplot and histogram) using Seaborn * Basic petrophysics processing (computation of porosity, Vclay) * Demo: Read and display 3D seismic data * Python for Production * Streaming production data (borehole pressure, production rate) * Simple well-test analysis * Simple decline curve analysis ### 2. Automate Geosciences and Reservoir Engineering with Python (Go to [Folder](https://github.com/yohanesnuwara/python-bootcamp-for-geoengineers/tree/master/EnP_training)) This is a 5-day (2-hour) training I (and Destiny Otto) gave with SPE Port Harcourt Section in Nigeria, from 6 to 21 November 2020. Surprisingly, 1,000+ participants from academia and industry from all around the world registered for this training session. In the folder, you will find 5 notebooks (3 notebooks for training + 2 for assignments; answer key). **Topics discussed:** * Formation evaluation with Python: Dataset used is well 15/9-F-11 A in Volve field dataset * Visualize well log data * Visualize triple combo * Visualize Neutron-Density plot * Compute petrophysical variables (formation porosity PHIF, shale volume VSH, and permeability K) * Material balance analysis with Python: Using [`PyReservoir`](https://github.com/yohanesnuwara/pyreservoir). Datasets used are from `PyReservoir` tutorial notebooks, and in Volve field dataset * Produce MBAL plot to calculate OOIP and OGIP in gas and oil reservoirs * Calculate water (aquifer) influx * Well-test analysis with Python: Using [`PyReservoir`](https://github.com/yohanesnuwara/pyreservoir). Datasets used is well 15/9-F-1 C in Volve field dataset * Simulation of constant rate and pressure test * Analysis of BHP drawdown and build-up ## Talks ### 1. Python Awareness in Exploration and Production for Students and Professionals ([Notebook](https://github.com/yohanesnuwara/python-bootcamp-for-geoengineers/blob/master/demo_starting_python_E%26P_1hour.ipynb)) This is my 1-1.5 hour talk to tell reasons why geoscientists and petroleum engineers, students and professionals, should consider starting to learn Python. I gave this talk in a joint webinar by SPE Asia Pacific University (Malaysia) and SPE Northern Emirates Section (UAE) in 21 October, 2020. I gave a Python demo as a trigger material. See inside the notebook. * Python and its effectiveness - *comparing use vs. non-use of list comprehension* * Numpy, Matplotlib, and Pandas - *quick tour of the libraries* * Access exploration open dataset - *stream exploration data (well log) from Kansas Geological Survey* * Access production open dataset - *stream production data from Volve field in a Zenodo repository* ### 2. Machine Learning Application in the Volve Field Dataset ## License <a rel="license" href="http://creativecommons.org/lRelated Skills
node-connect
385.5kDiagnose OpenClaw Android, iOS, or macOS node pairing, QR/setup code, route, auth, and connection failures.
python-debugpy
385.5kDebug Python with pdb, breakpoint(), post-mortem inspection, and debugpy remote attach.
skill-creator
385.5kCreate, edit, audit, tidy, validate, or restructure AgentSkills and SKILL.md files.
claude-opus-4-5-migration
140.6kMigrate prompts and code from Claude Sonnet 4.0, Sonnet 4.5, or Opus 4.1 to Opus 4.5
Languages
Security Score
Audited on May 2, 2026
