< All Topics

Simple storage elevation curve for a ring dyke

Creating a storage elevation curve for a TSF is a commonly requested feature.  This tutorial demonstrates how to create a storage curve for a simple ring dyke with downstream construction.  

The code for the example with no pond is shown below.

from muk3d.ooze import get_deposition_result

volumes = []

for discharge_elevation in range(110, 120):
    # running command Single stream no pond, auto flow path fixed elevation
    # Parameters from dialog
    cmd = get_command('Single stream no pond, auto flow path fixed elevation')
    result = cmd({   'base': u'grid+dam.mgrid',
        'deposition model': 'Single stream no pond, auto flow path fixed elevation',
        'dischargeElevation': discharge_elevation,
        'dischargePoints': u'discharge_119.mcurve',
        'maxPondIterations': 1,
        'pond_location': None,
        'tailings': u'Sand',
        'verticalOffset': 0.0})

    dep_result = get_deposition_result(result)
    dep_volume = dep_result.get_property('total volume')
    volumes.append([discharge_elevation, dep_volume])
    
with open('securve.csv', 'wt') as fh:
    fh.write('Elevation, Volume\n')
    for d in volumes:
        fh.write('{}, {}\n'.format(d[0], d[1]))

The code for the example with a fixed pond elevation is shown below.

from muk3d.ooze import get_deposition_result

volumes = []

for discharge_elevation in range(110, 115):
    # running command Single stream fixed pond elevation, auto flow path fixed elevation
    # Parameters from dialog
    cmd = get_command('Single stream fixed pond elevation, auto flow path fixed elevation')
    result = cmd({   'base': u'grid+dam.mgrid',
        'deposition model': 'Single stream fixed pond elevation, auto flow path fixed elevation',
        'dischargeElevation': discharge_elevation,
        'dischargePoints': u'discharge_119.mcurve',
        'maxPondElevation': 119.0,
        'maxPondIterations': 1,
        'pond': 'pond',
        'pondElevation': discharge_elevation - 3,
        'pond_elevations': u'',
        'pond_location': (   2409.014700659405,
                             -3006.3937803704803,
                             107.44865441108986),
        'seCurveIncrement': 0.1,
        'tailings': u'Sand',
        'verticalOffset': 0.0})
    dep_result = get_deposition_result(result)
    dep_volume = dep_result.get_property('total volume')
    pond_volume = dep_result.get_pond_property('fluid volume')
    volumes.append([discharge_elevation, dep_volume, discharge_elevation - 3, pond_volume, ])
    
with open('securve+pond.csv', 'wt') as fh:
    fh.write('Elevation, Volume, Pond elevation, Pond volume\n')
    for d in volumes:
        fh.write('{}, {}, {}, {}\n'.format(d[0], d[1], d[2], d[3]))

Table of Contents