Continuity for complex calculation models

IRM Systems uses geolocation data to calculate the risks and maintenance points of North Sea pipelines. We took over maintenance and ongoing development of the existing application, including its mathematical models, data processing, and map visualization.

Technieken
Python, Vue.js, MongoDB
Expertise
Backend, Frontend, Data

Client

IRM Systems
Industry
Energy & infrastructure
Location
Delft

Team

Bren
Raymond
Roland
Siebe
Adriaan

IRM Systems works on questions around aging infrastructure. Central to that is an application that uses geolocation data to calculate the risks and maintenance points of older pipelines in the North Sea and surfaces the results in a visual layer.

IRM Systems

The situation

An existing application with complex mathematical models

The IRM Systems application combines mathematical models, geodata, and visualization. A change can affect the calculations users rely on for their decisions.

IRM Systems needed a partner who could take over the existing system while maintaining calculation accuracy and continuity.

The question behind the question

Maintaining reliable calculations

IRM Systems needed a partner to maintain and develop the application. The numerical models and geolocation data processing had to remain reliable: users base maintenance decisions and risk assessments on those results.

You need a partner who sees that whole chain: from raw data to calculation and storage, and from storage to that engineering overview on the map. When Glossary · In brieftechnical debtTechnical debt is the extra work required because earlier software decisions make later changes harder, slower or riskier.Read more creeps in here, it undermines the reliability of those outcomes.

Approach

A technical foundation that connects analysis and visualization

We built on the existing stack. Python with NumPy and SciPy handled the numerical calculations. We used Pandas and GeoPandas to process and analyze geolocation data. Results were stored in MongoDB and displayed in an interactive Vue.js Glossary · In brieffrontendThe frontend is the part of a website or application that users see and operate, such as pages, buttons, forms and interactive screens.Read more.

We used Mapbox GL for the map view. The model outcomes are calculated correctly, and presented so they are practically usable for end users.

What we add

  • Takeover without knowledge loss We could take over an existing system while retaining the substantive logic around calculations and data.

  • Suitable tooling for computation With NumPy, SciPy, Pandas, and GeoPandas the technical foundation matches the kind of analyses the application must run.

  • Insightful visualization The combination of MongoDB, Vue.js, and Mapbox GL makes complex outcomes usable for end users.

Quality and continuity

From raw data to usable insights

The application processes, checks, and stores data and displays the calculated results on a map. Users can then assess the information to make maintenance and risk decisions.

It is the coupling of model, data, and presentation that makes this kind of software susceptible to technical debt. Focused maintenance and ongoing development kept the chain intact.

Result

A business-critical system that can keep running

With this project IRM Systems kept the specialized application for geolocation data and complex calculations in manageable hands. That secured technical continuity, while the outcomes kept their practical usefulness.

We work pleasantly with 10KB, both on existing and new software. The technical knowledge is strong and the quality is good.

Viannette den Boer — Projectmanager bij IRM Systems

Key takeaways

  • For data-intensive calculation software, takeover only makes sense if you understand how the whole chain works: model, data, storage, and visualization interlock directly.

  • NumPy, SciPy, Pandas, and GeoPandas are chosen purely for what they do for geolocation analyses: functional choices, not stack for stack's sake.

  • Mapbox GL and Vue.js make complex outcomes usable only when engineers can read and interpret them in context.

  • Maintenance of specialized software also needs to preserve the accuracy of calculations and data processing.

CONTACT

Get in touch with us

Have a question or want to discuss your software? Leave your details and we will get back to you soon.