Esempio n. 1
0
    def __init__(self, filename):
        self.filename = filename
        self.xml = io.fromFile(filename)
        self.obs_list = self.getObservationList()
        self.obs_lists = []
        for el in self.obs_list.getchildren():
            self.obs_lists.append(el)

        self.obs_file = self.getObservationFilename()
        self.coordinates = []
        self.names = []
Esempio n. 2
0
def write_new_xml(testname, testlog):
    """Adds the needed magic to a new xml file."""
    print("Renaming: {0}.xml to {0}_orig.xml".format(testname), file=testlog)
    os.rename(testname + ".xml", testname + "_orig.xml")

    xml = aio.fromFile(testname + "_orig.xml", True)

    # vis by list of cycles
    try:
        vis = asearch.getElementByNamePath(xml, "visualization")
    except aerrors.MissingXMLError:
        pass
    else:
        for i in range(len(vis)):
            vis.pop(vis[0].get('name'))
        vis.setParameter("cycles", "Array(int)", find_vis_cycles(testname))
        vis.setParameter("file name base", "string", "visdump")

    try:
        viss = asearch.getElementByNamePath(xml, "visualization surface")
    except aerrors.MissingXMLError:
        pass
    else:
        for i in range(len(viss)):
            viss.pop(viss[0].get('name'))
        viss.setParameter("cycles", "Array(int)", find_vis_cycles(testname))
        viss.setParameter("file name base", "string", "visdump_surface")

    # update timestep controller, nonlinear solvers
    for ti in asearch.generateElementByNamePath(xml, "time integrator"):
        asearch.generateElementByNamePath(
            ti, "limit iterations").next().setValue(100)
        asearch.generateElementByNamePath(
            ti, "diverged tolerance").next().setValue(1.e10)

        asearch.getElementByNamePath(
            ti, "timestep controller type").setValue("from file")
        ts_hist = ti.sublist("timestep controller from file parameters")
        ts_hist.setParameter("file name", "string",
                             "../data/{0}_dts.h5".format(testname))

    print("Writing: {0}.xml".format(testname), file=testlog)
    aio.toFile(xml, "{0}.xml".format(testname))
Esempio n. 3
0
    snow_distribution(xml)
    end_time_units(xml)

    import verbose_object
    verbose_object.fixVerboseObject(xml)


if __name__ == "__main__":
    import argparse
    parser = argparse.ArgumentParser(
        description="Fix a number of changes from ATS input spec 0.86 to 0.88")
    parser.add_argument("infile", help="input filename")

    group = parser.add_mutually_exclusive_group()
    group.add_argument("-i",
                       "--inplace",
                       action="store_true",
                       help="fix file in place")
    group.add_argument("-o", "--outfile", help="output filename")

    args = parser.parse_args()

    print("Converting file: %s", args.infile)
    xml = aio.fromFile(args.infile, True)
    update(xml)
    if args.inplace:
        aio.toFile(xml, args.infile)
    else:
        aio.toFile(xml, args.outfile)
    sys.exit(0)
Esempio n. 4
0
    mesh = xml_search.getElementByNamePath(xml, "Mesh")
    for label in changes_mesh:
        for param in xml_search.generateElementByNamePath(mesh, label):
            param.set('name', label.lower())

    mesh.set('name', "mesh")

    domain = xml_search.getElementByNamePath(xml, "Domain")
    xml.remove(domain)


if __name__ == "__main__":
    fnames = [f for f in sys.argv if f.endswith('.xml')]
    for f in fnames:
        try:
            xml = xml_io.fromFile(f)
        except xml_errors.NotNativeSpecError:
            pass
        except RuntimeError,msg:
            print "Attempted to convert invalid xml file:", f
            print "  Error:", msg

        else:        
            lower_case(xml)
            xml_io.toFile(xml, f)





Esempio n. 5
0
def flatten_pks(xml):
    try:
        cycle_driver = asearch.childByName(xml, "cycle driver")
    except aerrors.MissingXMLError():
        pass
    else:
        return

    pks = asearch.childByName(xml, "PKs")
    cd_pks = coordinator_to_cycle_driver(xml)
    flat_pks = ParameterList("PKs")
    flatten(pks, flat_pks, cd_pks)
    pks.extend(flat_pks)


if __name__ == "__main__":
    if "-h" in sys.argv or "--help" in sys.argv or "--h" in sys.argv:
        print "Usage: python flatten_pks.py INFILE OUTFILE"
        sys.exit(0)

    outfile = sys.argv.pop(-1)
    infile = sys.argv.pop(-1)
    if (infile == "-i"):
        infile = outfile

    xml = aio.fromFile(infile)
    flatten_pks(xml)
    aio.toFile(xml, outfile)
    sys.exit(0)
Esempio n. 6
0
def update(xml):
    flatten_pks.flatten_pks(xml)
    fixEvaluator(xml, "ponded_depth", "surface-ponded_depth")
    fixEvaluator(xml, "ponded_depth_bar", "surface-ponded_depth_bar")
    compressibility(xml)


if __name__ == "__main__":
    import argparse
    parser = argparse.ArgumentParser(
        description="Fix a number of changes from ATS input spec 0.86 to 0.9x")
    parser.add_argument("infile", help="input filename")

    group = parser.add_mutually_exclusive_group()
    group.add_argument("-i",
                       "--inplace",
                       action="store_true",
                       help="fix file in place")
    group.add_argument("-o", "--outfile", help="output filename")

    args = parser.parse_args()

    xml = aio.fromFile(args.infile)
    update(xml)
    if args.inplace:
        aio.toFile(xml, args.infile)
    else:
        aio.toFile(xml, args.outfile)
    sys.exit(0)
Esempio n. 7
0
    seepage_face_bcs(xml)
    primary_variable(xml)
    mesh_list(xml)
    vis(xml)
    snow_depth(xml)
    snow_distribution(xml)
    seb(xml)

if __name__ == "__main__":
    import argparse
    parser = argparse.ArgumentParser(description="Fix a number of changes from ATS input spec 0.86 to 0.9x")
    parser.add_argument("infile", help="input filename")

    group = parser.add_mutually_exclusive_group()
    group.add_argument("-i", "--inplace", action="store_true", help="fix file in place")
    group.add_argument("-o", "--outfile", help="output filename")

    args = parser.parse_args()

    print "Converting file: %s"%args.infile
    xml = aio.fromFile(args.infile, True)
    update(xml)
    if args.inplace:
        aio.toFile(xml, args.infile)
    else:
        aio.toFile(xml, args.outfile)
    sys.exit(0)
    

    
Esempio n. 8
0
        mesh.set('name', "mesh")

    try:
        domain = xml_search.getElementByNamePath(xml, "Domain")
    except xml_errors.MissingXMLError:
        pass
    else:
        xml.remove(domain)


if __name__ == "__main__":
    fnames = [f for f in sys.argv if f.endswith('.xml')]
    for f in fnames:
        try:
            xml = xml_io.fromFile(f)
        except xml_errors.NotNativeSpecError:
            pass
        except RuntimeError,msg:
            print "Attempted to convert invalid xml file:", f
            print "  Error:", msg

        else:        
            lower_case(xml)
            xml_io.toFile(xml, f)





Esempio n. 9
0
    cd_pks = coordinator_to_cycle_driver(xml)
    flat_pks = ParameterList("PKs")
    flatten(pks, flat_pks, cd_pks)
    pks.extend(flat_pks)
        


if __name__ == "__main__":
    if "-h" in sys.argv or "--help" in sys.argv or "--h" in sys.argv:
        print "Usage: python flatten_pks.py INFILE OUTFILE"
        sys.exit(0)

    outfile = sys.argv.pop(-1)
    infile = sys.argv.pop(-1)
    if (infile == "-i"):
        infile = outfile

    xml = aio.fromFile(infile)
    flatten_pks(xml)
    aio.toFile(xml, outfile)
    sys.exit(0)