def get_subverts(voxel, g, step):
    """return list (len=8) of point coordinates (x,y,z) that are vertices of the voxel (i,j,k)"""
    i, j, k = voxel
    dx, dy, dz = g['dx'], g['dy'], g['dz']
    DX, DY, DZ = step
    v1_0, v1_1, v1_2 = g['xlo'] + i * dx, g['ylo'] + j * dy, g['zlo'] + k * dz
    vertices = [(v1_0, v1_1, v1_2), (v1_0 + DX, v1_1, v1_2), (v1_0 + DX, 
        v1_1 + DY, v1_2), (v1_0, v1_1 + DY, v1_2), (v1_0, v1_1, v1_2 + DZ),
        (v1_0 + DX, v1_1, v1_2 + DZ), (v1_0 + DX, v1_1 + DY, v1_2 + DZ), (
        v1_0, v1_1 + DY, v1_2 + DZ)]
    return vertices
