def METHOD_NAME():
    # Make a simple-ish grid
    mg1 = RasterModelGrid((10, 10), xy_spacing=2.0)
    z = mg1.add_zeros("topographic__elevation", at="node")
    z += mg1.node_x.copy()
    fa = FlowAccumulator(mg1, flow_director="D8")
    fa.run_one_step()
    # save it with pickle
    with open("testsavedgrid.grid", "wb") as f:
        pickle.dump(mg1, f)
    # load it with pickle
    with open("testsavedgrid.grid", "rb") as f:
        mg2 = pickle.load(f)
    os.remove("testsavedgrid.grid")
    assert mg1.shape == mg2.shape
    assert (mg1.dy, mg1.dx) == (mg2.dy, mg2.dx)
    assert_array_equal(mg1.status_at_node, mg2.status_at_node)
    for name in mg1.at_node:
        assert_array_equal(mg1.at_node[name], mg2.at_node[name])
    # compare the two
    # try:
    #     len(mg1.__dict__) == len(mg2.__dict__)
    #     # mg1keys = sorted(list(mg1.__dict__.keys()))
    #     # mg2keys = sorted(list(mg2.__dict__.keys()))
    #     mg1keys = set(mg1.__dict__.keys())
    #     mg2keys = set(mg2.__dict__.keys())
    #     assert_equal(mg1keys - mg2keys, set())
    #     assert_equal(mg2keys - mg1keys, set())
    #     # for i in range(len(mg1keys)):
    #     #     assert_equal(mg1keys[i], mg2keys[i])
    #     a = compare_dictionaries(mg1.__dict__,mg2.__dict__,'m1','m2')
    #     assert_equal(a, '')
    # except Exception:
    #     raise
    # finally:
    #     os.remove('testsavedgrid.grid')