Reserve Calculation Techniques

Using Benching and Batters - Bench Grid Creation

Grid Calc Macro: DEMOBENCHES.GDC_CMND

This Grid Calc macro creates a set of mining bench grids, mid-bench grids and bench thickness grids.

! Filename: demobenches.gdc_cmnd
!
! 
!
! Part 1. Generate Overburden Bench Surfaces 
!
! This macro generates the bench surface roofs for all Overburden Benches.
! Overburden benches are defined as OB2.SR (Base) then +/-n50.  The OB2
! bench grid was designed and used as the basis for overburden bench 
! modelling.
! Naming as:    demoob2.srg   Base Overburden Bench 
!               demoob1.srg   (demoob2.srg - 50) Overburden Bench 1
!               demoob3.srg   (demoob2.srg + 50) Overburden Bench 3
!               --- and so on +/- 50 for all Overburden Benches to Bench 7.
!
! Note Each overburden bench will be defined by its crest grid, ie, OB2
!       overburden has a crest grid named- "demoob2.srg".  The toe grid is the 
!       crest grid of the horizon below, ie, "demoob1.srg".  For the OB3 bench, the 
!       crest grid is called "demoob3.srg"; the toe grid for OB3 is called 
!       "demoob2.srg", and so on.
!
!       demoob2.srg is the original design Grid !!!!
access_specs/area="ALL"/access_specs
EDIT/EQUATION=ob2.sr-50
EDIT/EQUATION=max(z,a.sr)
save ob1.sr
EDIT/EQUATION=ob2.sr+50
save ob3.sr
EDIT/EQUATION=ob3.sr+50
save ob4.sr
EDIT/EQUATION=ob4.sr+50
save ob5.sr
EDIT/EQUATION=ob5.sr+50
save ob6.sr
EDIT/EQUATION=ob6.sr+50
save ob7.sr
closegrids
!
! Part 2. Generate Overburden Bench Thickness Grids
!
! Subtract the Top surface from the Base surface to give the OB bench thickness.
!  First:   Take the Minimum of topo.tp and bench.sr
!  Second:  Take the maximum of "z-bench below.sr" & "0" (zero)
!  Thirdly: Mask the grid where thickness = 0
!  Lastly: Save as bench.tk
!
EDIT/EQUATION=min(topo.tp,ob1.sr)
EDIT/EQUATION=max(z-a.sr,0)
EDIT z+0*mask(z gt 0)
save ob1.tk
EDIT/EQUATION=min(topo.tp,ob2.sr)
EDIT/EQUATION=max(z-ob1.sr,0)
EDIT z+0*mask(z gt 0)
save ob2.tk
EDIT/EQUATION=min(topo.tp,ob3.sr)
EDIT/EQUATION=max(z-ob2.sr,0)
EDIT z+0*mask(z gt 0)
save ob3.tk
EDIT/EQUATION=min(topo.tp,ob4.sr)
EDIT/EQUATION=max(z-ob3.sr,0)
EDIT z+0*mask(z gt 0)
save ob4.tk
EDIT/EQUATION=min(topo.tp,ob5.sr)
EDIT/EQUATION=max(z-ob4.sr,0)
EDIT z+0*mask(z gt 0)
save ob5.tk
EDIT/EQUATION=min(topo.tp,ob6.sr)
EDIT/EQUATION=max(z-ob5.sr,0)
EDIT z+0*mask(z gt 0)
save ob6.tk
EDIT/EQUATION=min(topo.tp,ob7.sr)
EDIT/EQUATION=max(z-ob6.sr,0)
EDIT z+0*mask(z gt 0)
save ob7.tk
EDIT/EQUATION=max(topo.tp-ob7.sr,0)
EDIT z+0*mask(z gt 0)
save ob8.tk
!
! Part 3. Generate the Split Coal Horizon Grids.
!         The B Seam is split according to mining constraints:
!         B1 Seam is >= 5 feet and <= 65 feet thick. 
!         B2 Seam is >= 5 feet thick.
!
! First: Generate the B1 Seam SR, SF, and TK.
!               B1.SR = B.SR
!               B1.SF = Max(B.SR-65,B.SF+5)
!               B1.TK = B1.SR-B1.SF
!        
! Second: Generate the B2 Seam SR, SF, and TK.
!               B2.SR = B1.SF
!               B2.SF = B.SF
!               B2.TK = B2.SR-B2.SF
!
! Third: Generate the B1 Midburden (Parting) thickness grid.
!               B1P.TK=B1.MD = A.SF-B1.SR
!
! Fourth: Generate the A seam thickness grid
!               A.TK = A.SR - A.SF
!
! FIRST
EDIT/EQUATION=b.sr
save b1.sr
EDIT/EQUATION=b.sf+5
EDIT/EQUATION=max(b1.sr-65,z)
EDIT/EQUATION=min(z,b1.sr)
save b1.sf
EDIT/EQUATION=b1.sr-b1.sf
save b1.tk
! SECOND
EDIT/EQUATION=b1.sf
save b2.sr
EDIT/EQUATION=b.sf
save b2.sf
EDIT/EQUATION=b2.sr-b2.sf
save b2.tk
! THIRD
EDIT/EQUATION=a.sf-b1.sr
save b1.md
EDIT/EQUATION=b1.md
save b1p.tk
! FOURTH
EDIT/EQUATION=a.sr-a.sf
save a.tk