Professional Documents
Culture Documents
The Challenge: Given A Channel Property, How Can I Calculate Which Channels Are Connected To An Unconformity?
The Challenge: Given A Channel Property, How Can I Calculate Which Channels Are Connected To An Unconformity?
Schlumberger Public
Outline of the algorithm (1)
• Assumptions:
– The solution exploits the fact that querying a collapsed cell for its value will
return UNDEF, so all other cells in the operand property must be defined
– All (I,J)’s are inside the grid boundary
• Steps:
1. Find all Channel cells that are immediately (in the first cell) below the
unconformity (this is where the first assumption is important)
Expression:
=IF(FluvialFacies=1 AND FluvialFacies[I,J,K-1]=0, 1, U)
Result: channel “stubs” attached to the unconformity
2. Find the number of cells in the stubs
Expression:
$N0=ConnectedToUnconformity.N
we will use this later
Schlumberger Public
Outline of the algorithm (2)
3. Find all channel cells that are next to defined cells in the
ConnectedToUnconformity property
Expression:
=IF(FluvialFacies=1 AND ConnectedToUnconformity=U AND
(ConnectedToUnconformity[I-1,J,K]=1 OR …), 1, ConnectedToUnconformity)
this argument is very long because there are 6 separate tests for adjacent
cells, but the brackets ensure it returns true if any neighbour cells = 1)
4. Find how many cells there are in the property now
Expression:
$N=ConnectedToUnconformity.N
5. Compare $N to $N0. If cells were added, continue
6. Reset $N0 to the new number of cells
7. Repeat 3-6 until $N=$N0, which means all cells connected to the stubs have
been found
! SLOW!
Schlumberger Public
The workflow
Schlumberger Public
The result
Schlumberger Public