# Do the following live on an options struct? outputPath = 'output'+os.sep+modelName expectedPath = 'expected'+os.sep+modelName nproc=1 mRun = ModelRun(modelName, inputFiles, outputPath, nproc=nproc) # TODO: responsibility of SystemTest class? createReference = False # For a reference test, these are standard fields to be tested. standardFields = ['VelocityField','PressureField'] runSteps=10 if createReference: mRun.outputPath = expectedPath mRun.simParams = SimParams(nsteps=runSteps, cpevery=runSteps, dumpevery=0) mRun.cpFields = standardFields else: mRun.simParams = SimParams(nsteps=runSteps, cpevery=0, dumpevery=0) fTests = mRun.analysis['fieldTests'] fTests.testTimestep = runSteps fTests.useReference = True fTests.referencePath = expectedPath defFieldTol = 1e-2 for fieldName in standardFields: fTests.add(FieldTest(fieldName, tol=defFieldTol)) mRun.writeInfoXML() # This will generate an additional XML to require StGermain/Underworld to do # any requested extra analysis (eg compare fields), and run for the
# Do the following live on an options struct? outputPath = 'output' + os.sep + modelName expectedPath = 'expected' + os.sep + modelName nproc = 1 mRun = ModelRun(modelName, inputFiles, outputPath, nproc=nproc) # TODO: responsibility of SystemTest class? createReference = False # For a reference test, these are standard fields to be tested. standardFields = ['VelocityField', 'PressureField'] runSteps = 10 if createReference: mRun.outputPath = expectedPath mRun.simParams = SimParams(nsteps=runSteps, cpevery=runSteps, dumpevery=0) mRun.cpFields = standardFields else: mRun.simParams = SimParams(nsteps=runSteps, cpevery=0, dumpevery=0) fTests = mRun.analysis['fieldTests'] fTests.testTimestep = runSteps fTests.useReference = True fTests.referencePath = expectedPath defFieldTol = 1e-2 for fieldName in standardFields: fTests.add(FieldTest(fieldName, tol=defFieldTol)) mRun.writeInfoXML() # This will generate an additional XML to require StGermain/Underworld to do # any requested extra analysis (eg compare fields), and run for the
inputFiles = args modelName, ext = os.path.splitext(args[0]) nproc = 1 # For a restart test, these are standard fields to be tested. modelName += "-restartTest" outputPath = 'output' + os.sep + modelName standardFields = ['VelocityField', 'PressureField'] runSteps = 20 assert runSteps % 2 == 0 print "Initial run:" mRun = ModelRun(modelName + "-initial", inputFiles, outputPath, nproc=nproc) initialOutputPath = outputPath + os.sep + "initial" mRun.outputPath = initialOutputPath mRun.simParams = SimParams(nsteps=runSteps, cpevery=runSteps / 2, dumpevery=0) mRun.cpFields = standardFields mRun.writeInfoXML() credo.prepareOutputLogDirs(mRun.outputPath, mRun.logPath) # This will run the model, and also save basic results (e.g. walltime) analysisXML = mRun.analysisXMLGen() results = credo.modelrun.runModel(mRun) credo.modelresult.writeModelResultsXML(results, path=mRun.outputPath) print "Restart run:" mRun.name = modelName + "-restart" mRun.outputPath = outputPath + os.sep + "restart" mRun.cpReadPath = initialOutputPath # Note we could modify existing SimParams rather than create new, but below is # probably easier
inputFiles = args modelName, ext = os.path.splitext(args[0]) nproc = 1 # For a restart test, these are standard fields to be tested. modelName += "-restartTest" outputPath = "output" + os.sep + modelName standardFields = ["VelocityField", "PressureField"] runSteps = 20 assert runSteps % 2 == 0 print "Initial run:" mRun = ModelRun(modelName + "-initial", inputFiles, outputPath, nproc=nproc) initialOutputPath = outputPath + os.sep + "initial" mRun.outputPath = initialOutputPath mRun.simParams = SimParams(nsteps=runSteps, cpevery=runSteps / 2, dumpevery=0) mRun.cpFields = standardFields mRun.writeInfoXML() credo.prepareOutputLogDirs(mRun.outputPath, mRun.logPath) # This will run the model, and also save basic results (e.g. walltime) analysisXML = mRun.analysisXMLGen() results = credo.modelrun.runModel(mRun) credo.modelresult.writeModelResultsXML(results, path=mRun.outputPath) print "Restart run:" mRun.name = modelName + "-restart" mRun.outputPath = outputPath + os.sep + "restart" mRun.cpReadPath = initialOutputPath # Note we could modify existing SimParams rather than create new, but below is # probably easier