Simulations and Data Driven Approach for Improved Code Deployment
Introduction
At Erdos Miller, we are firm believers in making data-driven decisions. Programming and code deployment is no exception to that philosophy. From a firmware development background, there is a necessary process that must take place. Every time we discuss a new feature for implementation, we review the test and field data, including the customer feedback. Suppose the idea or improvement works with the existing dataset before deploying a firmware update for field use. In that case, we then develop a pilot/prototype code using either Python, MATLAB, or LabVIEW to validate the data. Although this technique does not eliminate the need for updates, it has drastically reduced the number of bugfixes after releasing a major update.
Example 1 - Azimuthal Gamma Controller
For the prototyping phase, one of several tests includes mounting a focused gamma + MicroPulse-3 combo in our rotation stand with a rotary encoder to grab hi-speed toolface measurements from both sources, with a point gamma source placed in various positions around the gamma probe. This test allowed our engineers to run multiple algorithm simulations in a short period without having to program a MicroPulse-3 with code changes and test it every single time we wished to try something new.
Once we deployed the Azimuthal Gamma Controller feature, we still received occasional questions about how sure we were with the performance because "lab environments are never the same as downhole conditions." For this phase, we deployed our Flight recorder tool to grab high-density sensor data to compare binning performance with the image stored in the tool logs and simulated image post run from the Flight recorder. For those of you who followed our case study on the MicroPulse-3: Continuous Inclination / Azimuth performance, we took a similar approach. We found that the Downhole data gathered to be relatively the same compared to the post-processed image. In other words, the lab test data was very similar to the actual field data.
We also leveraged all the data gathered to implement Azimuthal Gamma Compression, which I'm happy to say exceeds expectations based on the logs shared by customers. Below is how much compression we can achieve with a single image slice.
Azimuthal Gamma Curve |
# of bits uncompressed |
# of bits compressed |
4-Sector Gamma |
32 |
16 |
8-Sector Gamma |
64 |
24 |
16-Sector Gamma |
128 |
32 |
Example 2 - Survey Compression
Survey Compression is a new feature that should be complete in the next few weeks, which leverages the data customers have shared with us. We understand that it's hard to get high data rates with M-ary Mud Pulse Telemetry with current drilling configurations. Customers request speed increases, even if it means losing precision by reducing the number of bits used to telemeter faster Gamma and Toolface updates. Learning this, we felt data compression would be ideal for MWD applications. Survey compression is our first of many building blocks in providing the same.
For this feature, we had to analyze several job logs to identify surveys transmitted uphole and come up with bit allocations and techniques for compression to obtain about 32-33% compression without losing much precision in calculated survey measurements.
Conclusion
As we complete our next major release, including this feature, we include all the lessons learned from studying the data available and customer feedback. All said and done; please check with Kenneth Miller and our Decoder team to know about their vision on improving the decoder product line based on data.
Contact: ken@erdosmiller.com