Skip to main content
Question

Flowsheet in Prosper Simulator Connector

  • May 4, 2026
  • 8 replies
  • 73 views

Hi,
I have a Prosper Connector deployed and I’m trying to fetch the flowsheet from my simulator model routine, but it is empty

I am using the sdk:

client.simulators.models.revisions.retrieve_data("my_revision")

and I only get 

model_revision_external_id data_set_id created_time last_updated_time


I saw that GAP connector has this option: https://docs.cognite.com/cdf/integration/guides/simulators/connectors/gap/gap_model_parsing#enable-model-extraction
but it didn’t work for Prosper

 

Any thoughts? Also, is there a tutorial to use it?

8 replies

Forum|alt.badge.img
  • Practitioner ⭐️⭐️⭐️
  • May 4, 2026

The automation.information-model-extraction-enabled option and flowsheet extraction is a feature specific to the GAP connector and is not available for the PROSPER connector.


Ok, but then how can I get the flowsheet? Is it possible?
Or is there an alternative? I would like to see the objects and how to define input/output/commands 


ipolomanyi
Practitioner ⭐️⭐️⭐️
  • Practitioner ⭐️⭐️⭐️
  • May 4, 2026

@Ricardo V Soares PROSPER is designed to model the physics of a single well, there is no flowsheet to extract. This feature should be used (and available) with GAP simulator connector only.


  • Author
  • Seasoned ⭐️⭐️
  • May 4, 2026

Then, I need help to set up inputs, outputs and commands
For example,
If I want to set up gas lift injection rate as input and oil production as output. How can I do it with a .yaml and with python-sdk
Do you have any tutorial?


Everton Colling
Expert ⭐️⭐️⭐️⭐️
Forum|alt.badge.img
  • Expert ⭐️⭐️⭐️⭐️
  • May 4, 2026

Hi ​@Ricardo V Soares

As explained above, flowsheet extraction is not currently supported in the PROSPER connector, but it could be considered as a feature request (not as a flowsheet, but as model revision data info field, which was created for this type of simulators that don’t have the concept of a flowsheet).

For setting up inputs, outputs, and commands, the docs have a full PROSPER routine example you can use as a starting point: https://docs.cognite.com/cdf/integration/guides/simulators/simulator_routines#example

The pattern in the script section is:

  • Set steps for inputs, with address holding the OpenServer string (e.g. PROSPER.ANL.SYS.Pres)
  • Command steps for calculations (e.g. PROSPER.ANL.SYS.CALC)
  • Get steps for outputs (e.g. PROSPER.OUT.SYS.Results[0].Sol.OilRate)

Today, to find the right OpenServer address for any variable in your model, you would need to open the .OUT file in PROSPER desktop application. The simplest approach woud be to Ctrl + Right Click on the input field you want to interact with (as input, output or command). PROSPER will open a dialog with the assocated address which you can then copy and use it in your routine. There’s also a menu in the UI that lists all available addresses. You can refer to the PETEX documentation included with the installation, which explains how to discover OpenServer addresses for different variables.


I see. Thanks
I followed the instructions in the link, but came into an issue. I tried to use sdk and toolkit to deploy a routine revision.

Got the following error: 
CogniteAPIError: Quantity of measurement 'GasRate' is not supported by the simulator 'PROSPER'. | code: 400

I also tried to use Rate, Flow, volumetric Flow, Maximum Gas Available, but it did not work. Where can I find quantity types for Prosper?

Here is the code snippet I used

routine_object = SimulatorRoutineRevisionWrite(
external_id=routine_external_id + "-v1",
routine_external_id=routine_external_id,
configuration=SimulatorRoutineConfiguration(
inputs=[
SimulatorRoutineInputConstant(
name="Maximum Gas Available",
reference_id="Maximum Gas Available",
unit=SimulationValueUnitInput(name="MMscf/day", quantity="GasRate"),
value=12,
value_type="DOUBLE",
),
],
outputs=[
SimulatorRoutineOutput(
name="Optimal Gas Injection Rate",
reference_id="Injected Gas Rate",
value_type="DOUBLE",
unit=SimulationValueUnitInput(name="MMscf/day", quantity="GasRate"),
),
SimulatorRoutineOutput(
name="Oil Production Rate",
reference_id="Actual Oil Rate",
value_type="DOUBLE",
unit=SimulationValueUnitInput(name="STB/day", quantity="OilRate"),
),
]
),
script=[
SimulatorRoutineStage(
order=1,
description="Configure model inputs",
steps=[
SimulatorRoutineStep(
order=1,
step_type="Set",
arguments=SimulatorRoutineStepArguments(
data={
"referenceId": "Maximum Gas Available",
"address": "PROSPER.ANL.GLD.MaxGas",
}
),
),
],
),
SimulatorRoutineStage(
order=2,
description="Solve flowsheet",
steps=[
SimulatorRoutineStep(
order=1,
step_type="Command",
arguments=SimulatorRoutineStepArguments(
data={"address": "PROSPER.ANL.SYS.CALC"}
),
)
],
),
SimulatorRoutineStage(
order=3,
description="Save model outputs",
steps=[
SimulatorRoutineStep(
order=1,
step_type="Get",
arguments=SimulatorRoutineStepArguments(
data={
"referenceId": "Injected Gas Rate",
"address": "PROSPER.OUT.GLN.Legend[6]",
}
),
),
SimulatorRoutineStep(
order=2,
step_type="Get",
arguments=SimulatorRoutineStepArguments(
data={
"referenceId": "Actual Oil Rate",
"address": "PROSPER.OUT.GLN.Legend[5]",
}
),
),
],
),
],
)

 


I'm not sure if this is correct, but I checked here
units-catalog/versions/v1/units.json at a47731e18aba3215a764b17a14d706433f535833 · cognitedata/units-catalog

and found Volume Flow Rate, but still did not work


Everton Colling
Expert ⭐️⭐️⭐️⭐️
Forum|alt.badge.img
  • Expert ⭐️⭐️⭐️⭐️
  • May 5, 2026

That is an error in the documentation example, thanks for pointing it out. The list of supported PROSPER units can be found in the docs here: https://docs.cognite.com/cdf/integration/guides/simulators/connectors/prosper/prosper_units

The correct unit quantity would be Gas Rate, as you can be seen it in the docs.

The simulator specific units are not related to the Cognite Units catalog (they are the units as defined by the simulator vendor).