Jump to content

Create Stand ID based on Block Height


Recommended Posts

Hello Community, I would like to create a Stand ID every time the block height is changing to a new Height (starts again). For example it starts at 100ft and goes down to 0ft (this is a stand). Then it goes up again and comes down to 0ft. How can I identify this transition to identify the stand? There are multiple wells, I created a column [Col1b] to identify the well name change, but now we want to identify the stand nr every time the block height starts again.

I attached the .dxp file for your convenience. 

Any help is much appreciated

block height change.png

Test.dxp

Link to comment
Share on other sites

Here are some ideas-

  • Calculate: [Previous Block Height (feet)] - [Block Height (feet)] and call it [Delta Block Height (feet)]
  • I noticed that not all the block height patterns went to zero. Some do (even to negative numbers), but I think there are too many cases that stop at or around 30 something and they never reach zero.
    • You can build a way to auto increment the block ID for the zero cases and the non zero cases. 
    • If you monitor the delta bock height column you can check for a delta of -5 (you could use a smaller number too like -20 or -50) should pick up a big change in the current row vs previous row.
  • Create a [Start New Block] column that looks for deltas less than -5 (see the green row)
  • You can create a counter over all time for a well that will increment each time a [Start New Block] is true

Example of an auto incrementing block id:

image.thumb.png.69acdaed3d3584c70dc6d1108563ea70.png

The spotfire version of the dxp I attached is 14.4.0.48. You may not be able to open it, so here are the equations I made:

  • Column name: Rank_Date_Origin, Expression: DenseRank([DateTime],[Origin of data])
  • Column name: Previous Block Height (feet), Expression: First([Block Height (feet)]) OVER (Intersect([Origin of data],Previous([Rank_Date_Origin])))
  • Column name: Delta Block Height (feet), Expression: [Previous Block Height (feet)] - [Block Height (feet)]
  • Column name: Start New Block, Expression: If([Delta Block Height (feet)]<=-5,True,False)
  • Column name: New Block Count or ID, Expression: Sum(if([Start New Block]=True,1,0)) OVER (Intersect([Origin of data],AllPrevious([Rank_Date_Origin])))

Test.dxp

Edited by Anthony Alvarez
Link to comment
Share on other sites

Hi Anthony, thank you for your reply, but your approach doesn't work yet. The stands should be aligned horizontally (attached screenshot) not as cumulative numbers. The top visual is what the result should look like, with each (almost) vertical line representing a stand with same ID. Your approach is close, maybe take a look and adjust if possible.

Thank you

image.png

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...