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 = []
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))
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)
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)
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)
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)
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)
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)
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)