Skip to main content
FluidEarth Portal Header version 3

FluidEarth Portal

Go Search
FluidEarth Portal > FluidEarth Discussions > Running XP Engine with Pipistrelle  

FluidEarth Discussions

Modify settings and columns
Discussions board for FluidEarth Users
Started: 18/11/2010 15:46
Picture Placeholder: MBenkert
Running XP Engine with Pipistrelle

Discussion Started by Quillon Harpham on behalf of Marc Benkert,

I hope you can help me.

I'm trying to run my model linked with a copy of it under Pipistrelle.

I'm using two seperate linkable components ('XP Engine' and 'XP Engine Copy'). For the open MI interface implementation I used the Oatc.SDK

(1.4) and brought the above linkage to work with then Open MI configuration editor.

However, with Pipistrelle there's something wrong with my connection/links.

An isolation run with only one model ('XP Engine') was successful under Pipistrelle and yielded the same results than a standalone run with my engine.

As mentioned above, after running the isolation run, I wanted to connect a simple model to a copy of it. They have a bi-directional link at a storage node. 'XP Engine' computes the depth and gives it to 'XP Engine Copy'. 'XP Engine Copy' computes the outflow and gives it back to 'XP Engine'.

I added the two models in Pipistrelle, established connections in both directions and set up two links.

Everything seems to be correct when I initially set up the link, for the target and source component the element set drop-down menus show me the right object names ('Catchment' and 'Storage' in 'XP Engine'

and 'Outfall-Copy' and 'Storage-Copy' in 'XP Engine Copy').

When I now run the composition, the following log file is written:

010-11-12T10:57:13,Status , 1996, ,Using 0 links out of 0

2010-11-12T10:57:13,Progress, 1996,XP Engine ,Calling Prepare

2010-11-12T10:57:13,Status , 1996,Run ,Simulation started

2010-11-12T10:57:13,Status , 1996,Run ,Simulation completed

2010-11-12T10:57:13,Progress, 1996,XP Engine ,Calling Finish

2010-11-12T10:57:13,Status , 1996,Run ,All models Finished

2010-11-12T10:57:13,Status , 1996,Run ,Run and completed successfully

2010-11-12T10:57:13,Progress, 1996,XP Engine ,Calling Dispose

2010-11-12T10:57:13,Status , 1996,Run ,All models Disposed

so it doesn't use the links.

Also, when I close the composition and reload the .chi file, it now tells me that my links are invalid. Furthermore, the target component drop-down menu now shows me the source component names ('Outfall-Copy' and

'Storage-Copy') to select, see screenshots attached.

My best guess at the moment is that node and element set labels somehow cause confusions. I'm still using the Oatc indexing approach, i.e. for the element set ID there is a ':' as seperator to the node label added and then the internal index, which is later used as identifer for the GetValues function:

public IValueSet GetValues(string QuantityID, string ElementSetID) {

double[] returnValues;

Char[] separator = new char[]{':'};

if (QuantityID == "inflowOut")


int index = Convert.ToInt32((ElementSetID.Split(separator))[1]);

returnValues = new double[1];

returnValues[0] = _engineInstance.GetInflow(index);




public void Initialize(System.Collections.Hashtable properties) {


OutputExchangeItem inflowToNode = new OutputExchangeItem();

ElementSet node = new ElementSet("total inflow",

_engineInstance.GetNodeLabel(i) + ":" + i.ToString(), ElementType.IDBased,

new SpatialReference("ref"));



Could this cause the problem or do you see something else?

Thanks for your help!