from optparse import OptionParser

parser = OptionParser()
parser.usage = "usage: %prog [options] FILE"
parser.description = "A script to compare PISM flowline velocities with full Stokes solution."

(options, args) = parser.parse_args()

plot_acab = True

if len(args) != 1:
    print('wrong number of arguments, 1 expected')
    exit(1)

try:
    nc = Dataset(args[0], 'r')
except:
    print(("file %s not found ... ending ..." % args[0]))
    exit(2)


def permute(variable, output_order=('t', 'z', 'zb', 'y', 'x')):
    """Permute dimensions of a NetCDF variable to match the output storage order."""
    input_dimensions = variable.dimensions

    # filter out irrelevant dimensions
    dimensions = filter(lambda (x): x in input_dimensions, output_order)

    # create the mapping
    mapping = map(lambda (x): dimensions.index(x), input_dimensions)