Skip to main content
New

Synthetic timeseries behaving like an ordinary timeseries

Related products:Other
  • September 24, 2025
  • 0 replies
  • 24 views

Currently CDF has support for synthetic timeseries, but those are specified as a parameter to the API call, which means that every user has to specify it, and it is a different API call then the ordinary timeseries.

A very powerful feature would be to define a synthetic timeseries the same way as an ordinary timeseries, but it is not a persisted timeseries but instead an on-the-fly calculated timeseries. 

Pros:

  • It doesn’t fill up cdf with a lot of unnecessary persisted timeseries
  • We avoid having to depend on a calculation function that will have lag, being vulnerable to going down, secret expired,+++
  • Any UI or other functionality that consumes timeseries will automatically work
  • It will be a “company” approved calculation
  • We can add proper documentation, metadata, link it to the right assets (contextualisation),+++

Cons:

  • Added computational cost
  • Need to agree on how to treat the “endpoints” in the timerange, how to do the data point alignment, how to do fill etc
  • If at some point the calculation need a different timeseries, or the calculation changes, the synthetic timeseries will not be valid for the historical data (can be handled with a range validity identifier) 

The intention of this is to define relatively simple calculations. More complex calculations will be handled outside this framework.

Example could be: I need a timeseries for whether a well is flowing or not. It is a combination of the position of 3-4 chokes. Not all users will know which chokes, so by creating this predefined synthetic timeseries we have a “approved” way of doing this calculation. 

Another relevant example is routing, which can be a combination of many different routing valves, requiring extensive investigation of P&IDs to figure out how to calculate.