California Resources Corporation: Data Automation

May 2022 - November 2022

Automation image

Data Automation

Database systems image

Database Systems

Documentation image

Documentation

Project objective

At California Resources Corporation, one of the largest oil producers in California, the primary goal was to enhance the efficient and real-time transfer of telemetry data sourced from an array of sensors attached to vital oil field equipment, including storage tanks and control valves. These sensors recorded crucial metrics including temperature, pressure, fluid level and an array of time series data, offering comprehensive insights intot the operational health and status of the equipment.

Overall architecture

To facilitate this data transfer, the organization employed a sophisticated SCADA (Supervisory Control and Data Acquisition) system interfaced with OPC Data Access (OPC DA) protocol. This setup acted as a conduit, channeling all the telemetry data seamlessly into a centralized OPC DA server.

OPCDA protocol diagram
OPCDA protocol

Powershell/SQL solution

Leveraging the versatility of PowerShell, I developed a robust script tailored to establish a remote connection to the OPCDA server. The script retrieved the csv data from the remote server. After retrievel, I implemented a data validation mechanism to sanitize and structure the data. Then, a secure database connection was instantiated, allowing for the integration of the telemetry data into our existing database infrastructure. This ensured our database tables were consistently updated with the latest telemetry insights, enhancing data accuracy and operational efficiency.

Documentation

After the script was made, documentation was a huge component of this project. Using flowchart conventions, this piece of documentation outlines the various paths the software can take. Most imporantly, it outlines what path the software should take on a successful run. Logging mechanism is also apparent in the documentation below.

training technique

Result

During this internship I learned a great deal of software development. I gathered requirements from my boss. Designed a high level solution, implemented, tested and maintained the software. This was a great experience and was the first time that I developed a piece of software for a company.This piece of software is still running, validating and transferring millions+ of telemetry points to various databases.