def ddetails(solver_file, job_path, ncl_path, data_path, target_html): # using data, fill the web page with info solver_file.write('<HTML>\n') solver_file.write('<H3>Diagnostic Dome 30 Iteration Count Details:</H3>') solver_file.write('<BR> \n') # JFNK gnu 1 proc # print job_path + '/dome30/diagnostic/data/gnu.JFNK.1proc' solver_file.write('<H4>New Run:</H4>') procttl_dd301, nonlist_dd301, avg2_dd301, out_flag_dd301, ndd301_name, ldd301_name = VV_outprocess.jobprocess( job_path + '/dome30/diagnostic/data/gnu.JFNK.1proc', 'domed301') # Failure checking failedt = VV_ismip.failcheck(job_path, '/dome30/diagnostic/data/gnu.JFNK.1proc') solver_file.write("Number of Processors = " + str(procttl_dd301[-1]) + "<BR>\n") solver_file.write("Number of Nonlinear Iterations = ") for item in nonlist_dd301: solver_file.write(str(item) + ", ") # print this to an array that ncl can use for plotting # print item solver_file.write('<BR>\n') if out_flag_dd301 == 1: solver_file.write( '<FONT COLOR="red">***TIME STEP(S) WHICH FAILED TO CONVERGE</FONT> <BR>\n' ) solver_file.write("Average Number of Linear Iterations per Time-Step = ") for item in avg2_dd301: solver_file.write(str(item) + ", ") # print this to an array that ncl can use for plotting # print item solver_file.write('<BR> \n') solver_file.write('<H4>Benchmark Run:</H4>') procttl_dd301b, nonlist_dd301b, avg2_dd301b, out_flag_dd301b, ndd301b_name, ldd301b_name = VV_outprocess.jobprocess( job_path + '/bench/dome30/diagnostic/data/gnu.JFNK.1proc', 'domed301b') solver_file.write("Number of Processors = " + str(procttl_dd301b[-1]) + "<BR>\n") solver_file.write("Number of Nonlinear Iterations = ") for item in nonlist_dd301b: solver_file.write(str(item) + ", ") solver_file.write('<BR>\n') if out_flag_dd301b == 1: solver_file.write( '<FONT COLOR="red">***TIME STEP(S) WHICH FAILED TO CONVERGE</FONT> <BR>\n' ) solver_file.write("Average Number of Linear Iterations per Time-Step = ") for item in avg2_dd301b: solver_file.write(str(item) + ", ") solver_file.write('<BR> \n') # JFNK gnu 4 proc solver_file.write('<H4>New Run:</H4>') procttl_dd304, nonlist_dd304, avg2_dd304, out_flag_dd304, ndd304_name, ldd304_name = VV_outprocess.jobprocess( job_path + '/dome30/diagnostic/data/gnu.JFNK.4proc', 'domed304') # Failure checking failedt = VV_ismip.failcheck(job_path, '/dome30/diagnostic/data/gnu.JFNK.4proc') solver_file.write("Number of Processors = " + str(procttl_dd304[-1]) + "<BR>\n") solver_file.write("Number of Nonlinear Iterations = ") for item in nonlist_dd304: solver_file.write(str(item) + ", ") solver_file.write('<BR>\n') if out_flag_dd304 == 1: solver_file.write( '<FONT COLOR="red">***TIME STEP(S) THAT FAILED TO CONVERGE</FONT> <BR>\n' ) solver_file.write("Average Number of Linear Iterations per Time-Step = ") for item in avg2_dd304: solver_file.write(str(item) + ", ") solver_file.write('<BR> \n') solver_file.write('<H4>Benchmark Run:</H4>') procttl_dd304b, nonlist_dd304b, avg2_dd304b, out_flag_dd304b, ndd304b_name, ldd304b_name = VV_outprocess.jobprocess( job_path + '/bench/dome30/diagnostic/data/gnu.JFNK.4proc', 'domed304b') solver_file.write("Number of Processors = " + str(procttl_dd304b[-1]) + "<BR>\n") solver_file.write("Number of Nonlinear Iterations = ") for item in nonlist_dd304b: solver_file.write(str(item) + ", ") solver_file.write('<BR>\n') if out_flag_dd304b == 1: solver_file.write( '<FONT COLOR="red">***TIME STEP(S) THAT FAILED TO CONVERGE</FONT> <BR>\n' ) solver_file.write("Average Number of Linear Iterations per Time-Step = ") for item in avg2_dd304b: solver_file.write(str(item) + ", ") solver_file.write('<BR> \n') return failedt
def edetails(solver_file,job_path,ncl_path,data_path,target_html): # using data, fill the web page with info solver_file.write('<HTML>\n') solver_file.write('<H3>Evolving Dome 30 Iteration Count Details:</H3>') solver_file.write('<BR> \n') # JFNK gnu 9 proc # print job_path + '/dome30/evolving/data/gnu.JFNK.1proc' procttl_de309, nonlist_de309,avg2_de309,out_flag_de309,nde309_name,lde309_name = VV_outprocess.jobprocess(job_path + '/dome30/evolving/data/gnu.JFNK.9proc', 'domee309') procttl_de309b, nonlist_de309b,avg2_de309b,out_flag_de309b,nde309b_name,lde309b_name = VV_outprocess.jobprocess(job_path + '/dome30/evolving/bench/gnu.JFNK.9proc', 'domee309b') # create iteration plots for proudction simulation data_script=ncl_path + "/solver_dome30.ncl" plot_dome30_data = "ncl 'nfile=\"" + data_path + "" + nde309_name + "\"'" + ' ' + \ "'lfile=\"" + data_path + "" + lde309_name + "\"'" + ' ' + \ "'PNG=\"" + ncl_path + "/dome30e_iter\"'" + ' ' + \ data_script + ' ' + "1> /dev/null" try: output = subprocess.call(plot_dome30_data, shell=True) except: print "error formatting iteration plot of dome30 evolving run" raise #transferring iteration plot to www location if (ncl_path + '/dome30e_iter.png'): iterpic = "mv -f " + ncl_path + "/dome30e_iter.png" + " " + target_html + "/" try: output = subprocess.call(iterpic, shell=True) except: print "error moving dome30 evolving iteration png file" raise solver_file.write('<TABLE>\n') solver_file.write('<TR>\n') solver_file.write('<H4>Iteration Count for Evolving Dome30 Nonlinear and Linear Solver</H4>\n') solver_file.write('<OBJECT data="dome30e_iter.png" type="image/png" width="1300" height="800" hspace=10 align=left alt="Solver Plots">\n') solver_file.write('</OBJECT>\n') solver_file.write('<TR>\n') solver_file.write('<BR>\n') solver_file.write('</TABLE>\n') # JFNK gnu 9 proc solver_file.write('<H4>New Run:</H4>') solver_file.write("Number of Processors = " + str(procttl_de309[-1]) + "<BR>\n") solver_file.write("Number of Nonlinear Iterations = ") for item in nonlist_de309: solver_file.write(str(item) + ", ") solver_file.write('<BR>\n') if out_flag_de309 == 1: solver_file.write('<FONT COLOR="red">***TIME STEP(S) WHICH FAILED TO CONVERGE</FONT> <BR>\n') solver_file.write("Average Number of Linear Iterations per Time-Step = ") for item in avg2_de309: solver_file.write(str(item) + ", ") solver_file.write('<BR> \n') solver_file.write('<H4>Benchmark Run:</H4>') solver_file.write("Number of Processors = " + str(procttl_de309b[-1]) + "<BR>\n") solver_file.write("Number of Nonlinear Iterations = ") for item in nonlist_de309b: solver_file.write(str(item) + ", ") solver_file.write('<BR>\n') if out_flag_de309b == 1: solver_file.write('<FONT COLOR="red">***TIME STEP(S) WHICH FAILED TO CONVERGE</FONT> <BR>\n') solver_file.write("Average Number of Linear Iterations per Time-Step = ") for item in avg2_de309b: solver_file.write(str(item) + ", ") solver_file.write('<BR> \n') # JFNK gnu 15 proc solver_file.write('<H4>New Run:</H4>') procttl_de3015, nonlist_de3015,avg2_de3015,out_flag_de3015,nde3015_name,lde3015_name = VV_outprocess.jobprocess(job_path + '/dome30/evolving/data/gnu.JFNK.15proc', 'domee3015') solver_file.write("Number of Processors = " + str(procttl_de3015[-1]) + "<BR>\n") solver_file.write("Number of Nonlinear Iterations = ") for item in nonlist_de3015: solver_file.write(str(item) + ", ") solver_file.write('<BR>\n') if out_flag_de3015 == 1: solver_file.write('<FONT COLOR="red">***TIME STEP(S) WHICH FAILED TO CONVERGE</FONT> <BR>\n') solver_file.write("Average Number of Linear Iterations per Time-Step = ") for item in avg2_de3015: solver_file.write(str(item) + ", ") solver_file.write('<BR> \n') solver_file.write('<H4>Benchmark Run:</H4>') procttl_de3015b, nonlist_de3015b,avg2_de3015b,out_flag_de3015b,nde3015b_name,lde3015b_name = VV_outprocess.jobprocess(job_path + '/dome30/evolving/bench/gnu.JFNK.15proc', 'domee3015b') solver_file.write("Number of Processors = " + str(procttl_de3015b[-1]) + "<BR>\n") solver_file.write("Number of Nonlinear Iterations = ") for item in nonlist_de3015b: solver_file.write(str(item) + ", ") solver_file.write('<BR>\n') if out_flag_de3015b == 1: solver_file.write('<FONT COLOR="red">***TIME STEP(S) WHICH FAILED TO CONVERGE</FONT> <BR>\n') solver_file.write("Average Number of Linear Iterations per Time-Step = ") for item in avg2_de3015b: solver_file.write(str(item) + ", ") solver_file.write('<BR> <BR>\n') solver_file.write('</HTML>\n') solver_file.close()
def edetails(solver_file, job_path, ncl_path, data_path, target_html): # using data, fill the web page with info solver_file.write('<HTML>\n') solver_file.write('<H3>Evolving Dome 30 Iteration Count Details:</H3>') solver_file.write('<BR> \n') # JFNK gnu 9 proc # print job_path + '/dome30/evolving/data/gnu.JFNK.1proc' procttl_de309, nonlist_de309, avg2_de309, out_flag_de309, nde309_name, lde309_name = VV_outprocess.jobprocess( job_path + '/dome30/evolving/data/gnu.JFNK.9proc', 'domee309') # Failure checking failedt = VV_ismip.failcheck(job_path, '/dome30/evolving/data/gnu.JFNK.9proc') procttl_de309b, nonlist_de309b, avg2_de309b, out_flag_de309b, nde309b_name, lde309b_name = VV_outprocess.jobprocess( job_path + '/bench/dome30/evolving/data/gnu.JFNK.9proc', 'domee309b') # create iteration plots for proudction simulation data_script = ncl_path + "/solver_dome30.ncl" plot_dome30_data = "ncl 'nfile=\"" + data_path + "" + nde309_name + "\"'" + ' ' + \ "'lfile=\"" + data_path + "" + lde309_name + "\"'" + ' ' + \ "'PNG=\"" + ncl_path + "/dome30e_iter\"'" + ' ' + \ data_script + ' ' + "1> /dev/null" try: output = subprocess.call(plot_dome30_data, shell=True) except: print "error formatting iteration plot of dome30 evolving run" raise #transferring iteration plot to www location if (ncl_path + '/dome30e_iter.png'): iterpic = "mv -f " + ncl_path + "/dome30e_iter.png" + " " + target_html + "/" try: output = subprocess.call(iterpic, shell=True) except: print "error moving dome30 evolving iteration png file" raise solver_file.write('<TABLE>\n') solver_file.write('<TR>\n') solver_file.write( '<H4>Iteration Count for Evolving Dome30 Nonlinear and Linear Solver</H4>\n' ) solver_file.write( '<OBJECT data="dome30e_iter.png" type="image/png" width="1300" height="800" hspace=10 align=left alt="Solver Plots">\n' ) solver_file.write('</OBJECT>\n') solver_file.write('<TR>\n') solver_file.write('<BR>\n') solver_file.write('</TABLE>\n') # JFNK gnu 9 proc solver_file.write('<H4>New Run:</H4>') solver_file.write("Number of Processors = " + str(procttl_de309[-1]) + "<BR>\n") solver_file.write("Number of Nonlinear Iterations = ") for item in nonlist_de309: solver_file.write(str(item) + ", ") solver_file.write('<BR>\n') if out_flag_de309 == 1: solver_file.write( '<FONT COLOR="red">***TIME STEP(S) WHICH FAILED TO CONVERGE</FONT> <BR>\n' ) solver_file.write("Average Number of Linear Iterations per Time-Step = ") for item in avg2_de309: solver_file.write(str(item) + ", ") solver_file.write('<BR> \n') solver_file.write('<H4>Benchmark Run:</H4>') solver_file.write("Number of Processors = " + str(procttl_de309b[-1]) + "<BR>\n") solver_file.write("Number of Nonlinear Iterations = ") for item in nonlist_de309b: solver_file.write(str(item) + ", ") solver_file.write('<BR>\n') if out_flag_de309b == 1: solver_file.write( '<FONT COLOR="red">***TIME STEP(S) WHICH FAILED TO CONVERGE</FONT> <BR>\n' ) solver_file.write("Average Number of Linear Iterations per Time-Step = ") for item in avg2_de309b: solver_file.write(str(item) + ", ") solver_file.write('<BR> \n') # JFNK gnu 15 proc solver_file.write('<H4>New Run:</H4>') procttl_de3015, nonlist_de3015, avg2_de3015, out_flag_de3015, nde3015_name, lde3015_name = VV_outprocess.jobprocess( job_path + '/dome30/evolving/data/gnu.JFNK.15proc', 'domee3015') # Failure checking failedt = VV_ismip.failcheck(job_path, '/dome30/evolving/data/gnu.JFNK.15proc') solver_file.write("Number of Processors = " + str(procttl_de3015[-1]) + "<BR>\n") solver_file.write("Number of Nonlinear Iterations = ") for item in nonlist_de3015: solver_file.write(str(item) + ", ") solver_file.write('<BR>\n') if out_flag_de3015 == 1: solver_file.write( '<FONT COLOR="red">***TIME STEP(S) WHICH FAILED TO CONVERGE</FONT> <BR>\n' ) solver_file.write("Average Number of Linear Iterations per Time-Step = ") for item in avg2_de3015: solver_file.write(str(item) + ", ") solver_file.write('<BR> \n') solver_file.write('<H4>Benchmark Run:</H4>') procttl_de3015b, nonlist_de3015b, avg2_de3015b, out_flag_de3015b, nde3015b_name, lde3015b_name = VV_outprocess.jobprocess( job_path + '/bench/dome30/evolving/data/gnu.JFNK.15proc', 'domee3015b') solver_file.write("Number of Processors = " + str(procttl_de3015b[-1]) + "<BR>\n") solver_file.write("Number of Nonlinear Iterations = ") for item in nonlist_de3015b: solver_file.write(str(item) + ", ") solver_file.write('<BR>\n') if out_flag_de3015b == 1: solver_file.write( '<FONT COLOR="red">***TIME STEP(S) WHICH FAILED TO CONVERGE</FONT> <BR>\n' ) solver_file.write("Average Number of Linear Iterations per Time-Step = ") for item in avg2_de3015b: solver_file.write(str(item) + ", ") solver_file.write('<BR> <BR>\n') solver_file.write('</HTML>\n') solver_file.close() return failedt
con_file.write("temperature = " + data['options']['temperature'] + "<BR>\n") con_file.write('<BR\n>') con_file.write('</HTML>\n') con_file.close() # grabbing data from the job output file from the production run if options.gis_prod: out_file = open(target_html + '/GIS-out-diag.html', 'w') out_file.write('<HTML>\n') out_file.write('<TITLE>Production Job Output Diagnostics</TITLE>\n') procttl, nonlist, avg2, out_flag, nd_name, ld_name = VV_outprocess.jobprocess( gis_output, 'gis5km') # if error_flag == 1: # out_file.write('<FONT COLOR="purple"><H1>Model run incomplete, pick a new job output file for diagnostics!</H1></FONT>') if out_flag == 1: out_file.write( '<FONT COLOR="red"><H2>Job Output Diagnostics</H2></FONT>') else: out_file.write('<H2>Job Output Diagnostics</H2>') # print procttl # create iteration plots for proudction simulation data_script = options.ncl_path + "/solver_gis.ncl" plot_gis_data = "ncl 'nfile=\"" + options.data_path + "" + nd_name + "\"'" + ' ' + \
def ddetails(solver_file,job_path,ncl_path,data_path,target_html): # using data, fill the web page with info solver_file.write('<HTML>\n') solver_file.write('<H3>Diagnostic Dome 30 Iteration Count Details:</H3>') solver_file.write('<BR> \n') # JFNK gnu 1 proc # print job_path + '/dome30/diagnostic/data/gnu.JFNK.1proc' solver_file.write('<H4>New Run:</H4>') procttl_dd301, nonlist_dd301,avg2_dd301,out_flag_dd301,ndd301_name,ldd301_name = VV_outprocess.jobprocess(job_path + '/dome30/diagnostic/data/gnu.JFNK.1proc', 'domed301') solver_file.write("Number of Processors = " + str(procttl_dd301[-1]) + "<BR>\n") solver_file.write("Number of Nonlinear Iterations = ") for item in nonlist_dd301: solver_file.write(str(item) + ", ") # print this to an array that ncl can use for plotting # print item solver_file.write('<BR>\n') if out_flag_dd301 == 1: solver_file.write('<FONT COLOR="red">***TIME STEP(S) WHICH FAILED TO CONVERGE</FONT> <BR>\n') solver_file.write("Average Number of Linear Iterations per Time-Step = ") for item in avg2_dd301: solver_file.write(str(item) + ", ") # print this to an array that ncl can use for plotting # print item solver_file.write('<BR> \n') solver_file.write('<H4>Benchmark Run:</H4>') procttl_dd301b, nonlist_dd301b,avg2_dd301b,out_flag_dd301b,ndd301b_name,ldd301b_name = VV_outprocess.jobprocess(job_path + '/dome30/diagnostic/bench/gnu.JFNK.1proc', 'domed301b') solver_file.write("Number of Processors = " + str(procttl_dd301b[-1]) + "<BR>\n") solver_file.write("Number of Nonlinear Iterations = ") for item in nonlist_dd301b: solver_file.write(str(item) + ", ") solver_file.write('<BR>\n') if out_flag_dd301b == 1: solver_file.write('<FONT COLOR="red">***TIME STEP(S) WHICH FAILED TO CONVERGE</FONT> <BR>\n') solver_file.write("Average Number of Linear Iterations per Time-Step = ") for item in avg2_dd301b: solver_file.write(str(item) + ", ") solver_file.write('<BR> \n') # JFNK gnu 4 proc solver_file.write('<H4>New Run:</H4>') procttl_dd304, nonlist_dd304,avg2_dd304,out_flag_dd304,ndd304_name,ldd304_name = VV_outprocess.jobprocess(job_path + '/dome30/diagnostic/data/gnu.JFNK.4proc','domed304') solver_file.write("Number of Processors = " + str(procttl_dd304[-1]) + "<BR>\n") solver_file.write("Number of Nonlinear Iterations = ") for item in nonlist_dd304: solver_file.write(str(item) + ", ") solver_file.write('<BR>\n') if out_flag_dd304 == 1: solver_file.write('<FONT COLOR="red">***TIME STEP(S) THAT FAILED TO CONVERGE</FONT> <BR>\n') solver_file.write("Average Number of Linear Iterations per Time-Step = ") for item in avg2_dd304: solver_file.write(str(item) + ", ") solver_file.write('<BR> \n') solver_file.write('<H4>Benchmark Run:</H4>') procttl_dd304b, nonlist_dd304b,avg2_dd304b,out_flag_dd304b,ndd304b_name,ldd304b_name = VV_outprocess.jobprocess(job_path + '/dome30/diagnostic/bench/gnu.JFNK.4proc','domed304b') solver_file.write("Number of Processors = " + str(procttl_dd304b[-1]) + "<BR>\n") solver_file.write("Number of Nonlinear Iterations = ") for item in nonlist_dd304b: solver_file.write(str(item) + ", ") solver_file.write('<BR>\n') if out_flag_dd304b == 1: solver_file.write('<FONT COLOR="red">***TIME STEP(S) THAT FAILED TO CONVERGE</FONT> <BR>\n') solver_file.write("Average Number of Linear Iterations per Time-Step = ") for item in avg2_dd304b: solver_file.write(str(item) + ", ") solver_file.write('<BR> \n')
if data['options']['temperature']: con_file.write("temperature = " + data['options']['temperature'] + "<BR>\n") con_file.write('<BR\n>') con_file.write('</HTML>\n') con_file.close() # grabbing data from the job output file from the production run if options.gis_prod: out_file = open(target_html + '/GIS-out-diag.html', 'w') out_file.write('<HTML>\n') out_file.write('<TITLE>Production Job Output Diagnostics</TITLE>\n') procttl, nonlist, avg2, out_flag, nd_name, ld_name = VV_outprocess.jobprocess(gis_output,'gis5km') # if error_flag == 1: # out_file.write('<FONT COLOR="purple"><H1>Model run incomplete, pick a new job output file for diagnostics!</H1></FONT>') if out_flag == 1: out_file.write('<FONT COLOR="red"><H2>Job Output Diagnostics</H2></FONT>') else: out_file.write('<H2>Job Output Diagnostics</H2>') # print procttl # create iteration plots for proudction simulation data_script=options.ncl_path + "/solver_gis.ncl" plot_gis_data = "ncl 'nfile=\"" + options.data_path + "" + nd_name + "\"'" + ' ' + \ "'lfile=\"" + options.data_path + "" + ld_name + "\"'" + ' ' + \
def c80details(solver_file, job_path): # using data, fill the web page with info failedt_list = [] solver_file.write('<HTML>\n') solver_file.write('<H3>ISMIP HOM C Iteration Count Details:</H3>') solver_file.write('<H4>Eventually published in plot form</H4>') solver_file.write('<BR> \n') # JFNK gnu 1 proc #Failure checking failedt1 = VV_checks.failcheck( job_path, '/ismip-hom-c/80km/data/ishom.c.80km.out.1') failedt_list.append(failedt1) solver_file.write('<H4>New Run: ishom.c.80km.out.1</H4>') procttl_ih1d, nonlist_ih1d, avg2_ih1d, out_flag_ih1d, ndihc1_name, ldihc1_name = VV_outprocess.jobprocess( job_path + '/ismip-hom-c/80km/data/ishom.c.80km.out.1', 'imhomc1') solver_file.write("Number of Processors = " + str(procttl_ih1d[-1]) + "<BR>\n") solver_file.write("Number of Nonlinear Iterations = ") VV_utilities.format(solver_file, nonlist_ih1d) # print this to an array that ncl can use for plotting # print item solver_file.write('<BR>\n') if out_flag_ih1d == 1: solver_file.write( '<FONT COLOR="red">***TIME STEP(S) WHICH FAILED TO CONVERGE</FONT> <BR>\n' ) solver_file.write("Average Number of Linear Iterations per Time-Step = ") VV_utilities.format(solver_file, avg2_ih1d) # print this to an array that ncl can use for plotting # print item solver_file.write('<BR> \n') solver_file.write('<H4>Benchmark Run: ishom.c.80km.out.1</H4>') procttl_ih1b, nonlist_ih1b, avg2_ih1b, out_flag_ih1b, ndihc1b_name, ldihc1b_name = VV_outprocess.jobprocess( job_path + '/bench/ismip-hom-c/80km/data/ishom.c.80km.out.1', 'imhomc1b') solver_file.write("Number of Processors = " + str(procttl_ih1b[-1]) + "<BR>\n") solver_file.write("Number of Nonlinear Iterations = ") VV_utilities.format(solver_file, nonlist_ih1b) solver_file.write('<BR>\n') if out_flag_ih1b == 1: solver_file.write( '<FONT COLOR="red">***TIME STEP(S) WHICH FAILED TO CONVERGE</FONT> <BR>\n' ) solver_file.write("Average Number of Linear Iterations per Time-Step = ") VV_utilities.format(solver_file, avg2_ih1b) solver_file.write('<BR> \n') # JFNK gnu 2 proc #Failure checking failedt2 = VV_checks.failcheck( job_path, '/ismip-hom-c/80km/data/ishom.c.80km.out.2') failedt_list.append(failedt2) solver_file.write('<H4>New Run: ishom.c.80km.out.2</H4>') procttl_ih2d, nonlist_ih2d, avg2_ih2d, out_flag_ih2d, ndihc2_name, ldihc2_name = VV_outprocess.jobprocess( job_path + '/ismip-hom-c/80km/data/ishom.c.80km.out.2', 'imhom2') solver_file.write("Number of Processors = " + str(procttl_ih2d[-1]) + "<BR>\n") solver_file.write("Number of Nonlinear Iterations = ") VV_utilities.format(solver_file, nonlist_ih2d) solver_file.write('<BR>\n') if out_flag_ih2d == 1: solver_file.write( '<FONT COLOR="red">***TIME STEP(S) THAT FAILED TO CONVERGE</FONT> <BR>\n' ) solver_file.write("Average Number of Linear Iterations per Time-Step = ") VV_utilities.format(solver_file, avg2_ih2d) solver_file.write('<BR> \n') solver_file.write('<H4>Benchmark Run: ishom.c.80km.out.2</H4>') procttl_ih2b, nonlist_ih2b, avg2_ih2b, out_flag_ih2b, ndihc2b_name, ldihc2b_name = VV_outprocess.jobprocess( job_path + '/bench/ismip-hom-c/80km/data/ishom.c.80km.out.2', 'imhom2b') solver_file.write("Number of Processors = " + str(procttl_ih2b[-1]) + "<BR>\n") solver_file.write("Number of Nonlinear Iterations = ") VV_utilities.format(solver_file, nonlist_ih2b) solver_file.write('<BR>\n') if out_flag_ih2b == 1: solver_file.write( '<FONT COLOR="red">***TIME STEP(S) THAT FAILED TO CONVERGE</FONT> <BR>\n' ) solver_file.write("Average Number of Linear Iterations per Time-Step = ") VV_utilities.format(solver_file, avg2_ih2b) solver_file.write('<BR> \n') # JFNK gnu 4 proc #Failure checking failedt3 = VV_checks.failcheck( job_path, '/ismip-hom-c/80km/data/ishom.c.80km.out.4') failedt_list.append(failedt3) solver_file.write('<H4>New Run: ishom.c.80km.out.4</H4>') procttl_ih4d, nonlist_ih4d, avg2_ih4d, out_flag_ih4d, ndihc4_name, ldihc4_name = VV_outprocess.jobprocess( job_path + '/ismip-hom-c/80km/data/ishom.c.80km.out.4', 'imhomc4') solver_file.write("Number of Processors = " + str(procttl_ih4d[-1]) + "<BR>\n") solver_file.write("Number of Nonlinear Iterations = ") VV_utilities.format(solver_file, nonlist_ih4d) solver_file.write('<BR>\n') if out_flag_ih4d == 1: solver_file.write( '<FONT COLOR="red">***TIME STEP(S) WHICH FAILED TO CONVERGE</FONT> <BR>\n' ) solver_file.write("Average Number of Linear Iterations per Time-Step = ") VV_utilities.format(solver_file, avg2_ih4d) solver_file.write('<BR> \n') solver_file.write('<H4>Benchmark Run: ishom.c.80km.out.4</H4>') procttl_ih4b, nonlist_ih4b, avg2_ih4b, out_flag_ih4b, ndihc4b_name, ldihc4b_name = VV_outprocess.jobprocess( job_path + '/bench/ismip-hom-c/80km/data/ishom.c.80km.out.4', 'imhomc4b') solver_file.write("Number of Processors = " + str(procttl_ih4b[-1]) + "<BR>\n") solver_file.write("Number of Nonlinear Iterations = ") VV_utilities.format(solver_file, nonlist_ih4b) solver_file.write('<BR>\n') if out_flag_ih4b == 1: solver_file.write( '<FONT COLOR="red">***TIME STEP(S) WHICH FAILED TO CONVERGE</FONT> <BR>\n' ) solver_file.write("Average Number of Linear Iterations per Time-Step = ") VV_utilities.format(solver_file, avg2_ih4b) solver_file.write('<BR> \n') solver_file.write('</HTML>\n') solver_file.close() if 1 in failedt_list: failedt = 1 else: failedt = 0 return failedt
def details(gis10_file,job_path,ncl_path,data_path,target_html): # using data, fill the web page with info gis10_file.write('<HTML>\n') gis10_file.write('<H3>GIS 10km Iteration Count Details:</H3>') gis10_file.write('<H4>Eventually published in plot form</H4>') gis10_file.write('<BR> \n') # JFNK 128 proc procttl_gis10d, nonlist_gis10d,avg2_gis10d,out_flag_gis10d,ndg102_name,ldg102_name = VV_outprocess.jobprocess(job_path + '/gis_10km/data/gis_10km.JFNK.trilinos.10.gnu.out','gis10km2') procttl_gis10b, nonlist_gis10b,avg2_gis10b,out_flag_gis10b,ndg102b_name,ldg102b_name = VV_outprocess.jobprocess(job_path + '/gis_10km/bench/gis_10km.JFNK.trilinos.10.gnu.out','gis10km2b') # create iteration plots for proudction simulation data_script=ncl_path + "/solver_gis10.ncl" plot_gis10_data = "ncl 'nfile=\"" + data_path + "" + ndg102_name + "\"'" + ' ' + \ "'lfile=\"" + data_path + "" + ldg102_name + "\"'" + ' ' + \ "'nbfile=\"" + data_path + "" + ndg102b_name + "\"'" + ' ' + \ "'lbfile=\"" + data_path + "" + ldg102b_name + "\"'" + ' ' + \ "'PNG=\"" + ncl_path + "/gis10km_iter\"'" + ' ' + \ data_script + ' ' + "1> /dev/null" try: output = subprocess.call(plot_gis10_data, shell=True) except: print "error formatting iteration plot of gis10km run" raise #transferring iteration plot to www location if (ncl_path + '/gis10km_iter.png'): iterpic = "mv -f " + ncl_path + "/gis10km_iter.png" + " " + target_html + "/" try: output = subprocess.call(iterpic, shell=True) except: print "error moving iter png file" raise gis10_file.write('<TABLE>\n') gis10_file.write('<TR>\n') gis10_file.write('<H4>Iteration Count for Nonlinear and Linear Solver</H4>\n') gis10_file.write('<OBJECT data="gis10km_iter.png" type="image/png" width="1300" height="800" hspace=10 align=left alt="Solver Plots">\n') gis10_file.write('</OBJECT>\n') gis10_file.write('<TR>\n') gis10_file.write('<BR>\n') gis10_file.write('</TABLE>\n') # also present data in list form gis10_file.write('<H4>New Run:</H4>') gis10_file.write("Number of Processors = " + str(procttl_gis10d[-1]) + "<BR>\n") gis10_file.write("Number of Nonlinear Iterations = ") for item in nonlist_gis10d: gis10_file.write(str(item) + ", ") gis10_file.write('<BR>\n') if out_flag_gis10d == 1: gis10_file.write('<FONT COLOR="red">***TIME STEP(S) WHICH FAILED TO CONVERGE</FONT> <BR>\n') gis10_file.write("Average Number of Linear Iterations per Time-Step = ") for item in avg2_gis10d: gis10_file.write(str(item) + ", ") gis10_file.write('<BR> \n') gis10_file.write('<H4>Benchmark Run:</H4>') gis10_file.write("Number of Processors = " + str(procttl_gis10b[-1]) + "<BR>\n") gis10_file.write("Number of Nonlinear Iterations = ") for item in nonlist_gis10b: gis10_file.write(str(item) + ", ") gis10_file.write('<BR>\n') if out_flag_gis10b == 1: gis10_file.write('<FONT COLOR="red">***TIME STEP(S) WHICH FAILED TO CONVERGE</FONT> <BR>\n') gis10_file.write("Average Number of Linear Iterations per Time-Step = ") for item in avg2_gis10b: gis10_file.write(str(item) + ", ") gis10_file.write('<BR> \n') gis10_file.write('</HTML>\n') gis10_file.close()
def details(solver_file, job_path, ncl_path, data_path, target_html): # using data, fill the web page with info failedt_list = [] solver_file.write('<HTML>\n') solver_file.write('<H3>GIS 10km Iteration Count Details:</H3>') solver_file.write('<H4>Eventually published in plot form</H4>') solver_file.write('<BR> \n') # JFNK multiple procs # Failure checking failedt1 = VV_checks.failcheck( job_path, '/gis_10km/data/gis_10km.JFNK.trilinos.10.gnu.out') failedt_list.append(failedt1) procttl_gis10d, nonlist_gis10d, avg2_gis10d, out_flag_gis10d, ndg102_name, ldg102_name = VV_outprocess.jobprocess( job_path + '/gis_10km/data/gis_10km.JFNK.trilinos.10.gnu.out', 'gis10km2') procttl_gis10b, nonlist_gis10b, avg2_gis10b, out_flag_gis10b, ndg102b_name, ldg102b_name = VV_outprocess.jobprocess( job_path + '/bench/gis_10km/data/gis_10km.JFNK.trilinos.10.gnu.out', 'gis10km2b') # create iteration plots for proudction simulation # data_script=ncl_path + "/solver_gis10.ncl" # plot_gis10_data = "ncl 'nfile=\"" + data_path + "" + ndg102_name + "\"'" + ' ' + \ # "'lfile=\"" + data_path + "" + ldg102_name + "\"'" + ' ' + \ # "'nbfile=\"" + data_path + "" + ndg102b_name + "\"'" + ' ' + \ # "'lbfile=\"" + data_path + "" + ldg102b_name + "\"'" + ' ' + \ # "'PNG=\"" + ncl_path + "/gis10km_iter\"'" + ' ' + \ # data_script + ' ' + "1> /dev/null" # try: # output = subprocess.call(plot_gis10_data, shell=True) # except: # print "error formatting iteration plot of gis10km run" # raise #transferring iteration plot to www location # if (ncl_path + '/gis10km_iter.png'): # iterpic = "mv -f " + ncl_path + "/gis10km_iter.png" + " " + target_html + "/" # try: # output = subprocess.call(iterpic, shell=True) # except: # print "error moving iter png file" # raise # solver_file.write('<TABLE>\n') # solver_file.write('<TR>\n') # solver_file.write('<H4>Iteration Count for Nonlinear and Linear Solver</H4>\n') # solver_file.write('<OBJECT data="gis10km_iter.png" type="image/png" width="1300" height="800" hspace=10 align=left alt="Solver Plots">\n') # solver_file.write('</OBJECT>\n') # solver_file.write('<TR>\n') # solver_file.write('<BR>\n') # solver_file.write('</TABLE>\n') # also present data in list form # if fatal_flag == 1: # solver_file.write('<H4>Fatal Error Found in Output File</H4>\n') solver_file.write('<H4>New Run: gis_10km.JFNK.trilinos.10.gnu.out</H4>') solver_file.write("Number of Processors = " + str(procttl_gis10d[-1]) + "<BR>\n") solver_file.write("Number of Nonlinear Iterations = ") VV_utilities.format(solver_file, nonlist_gis10d) solver_file.write('<BR>\n') if out_flag_gis10d == 1: solver_file.write( '<FONT COLOR="red">***TIME STEP(S) WHICH FAILED TO CONVERGE</FONT> <BR>\n' ) solver_file.write("Average Number of Linear Iterations per Time-Step = ") VV_utilities.format(solver_file, avg2_gis10d) solver_file.write('<BR> \n') solver_file.write( '<H4>Benchmark Run: gis_10km.JFNK.trilinos.10.gnu.out</H4>') solver_file.write("Number of Processors = " + str(procttl_gis10b[-1]) + "<BR>\n") solver_file.write("Number of Nonlinear Iterations = ") VV_utilities.format(solver_file, nonlist_gis10b) solver_file.write('<BR>\n') if out_flag_gis10b == 1: solver_file.write( '<FONT COLOR="red">***TIME STEP(S) WHICH FAILED TO CONVERGE</FONT> <BR>\n' ) solver_file.write("Average Number of Linear Iterations per Time-Step = ") VV_utilities.format(solver_file, avg2_gis10b) solver_file.write('<BR> \n') solver_file.write('</HTML>\n') solver_file.close() if 1 in failedt_list: failedt = 1 else: failedt = 0 return failedt
def ddetails(solver_file, job_path, ncl_path, data_path, target_html): # using data, fill the web page with info failedt_list = [] solver_file.write('<HTML>\n') solver_file.write('<H3>Diagnostic Dome 30 Iteration Count Details:</H3>') solver_file.write('<H4>Eventually published in plot form</H4>') solver_file.write('<BR> \n') # JFNK gnu 1 proc # print job_path + '/dome30/diagnostic/data/gnu.JFNK.1proc' # Failure checking failedt1 = VV_checks.failcheck(job_path, '/dome30/diagnostic/data/gnu.JFNK.1proc') failedt_list.append(failedt1) solver_file.write('<H4>New Run: gnu.JFNK.1proc</H4>') procttl_dd301, nonlist_dd301, avg2_dd301, out_flag_dd301, ndd301_name, ldd301_name = VV_outprocess.jobprocess( job_path + '/dome30/diagnostic/data/gnu.JFNK.1proc', 'domed301') solver_file.write("Number of Processors = " + str(procttl_dd301[-1]) + "<BR>\n") solver_file.write("Number of Nonlinear Iterations = ") VV_utilities.format(solver_file, nonlist_dd301) # print this to an array that ncl can use for plotting # print item solver_file.write('<BR>\n') if out_flag_dd301 == 1: solver_file.write( '<FONT COLOR="red">***TIME STEP(S) WHICH FAILED TO CONVERGE</FONT> <BR>\n' ) solver_file.write("Average Number of Linear Iterations per Time-Step = ") VV_utilities.format(solver_file, avg2_dd301) # print this to an array that ncl can use for plotting # print item solver_file.write('<BR> \n') solver_file.write('<H4>Benchmark Run: gnu.JFNK.1proc</H4>') procttl_dd301b, nonlist_dd301b, avg2_dd301b, out_flag_dd301b, ndd301b_name, ldd301b_name = VV_outprocess.jobprocess( job_path + '/bench/dome30/diagnostic/data/gnu.JFNK.1proc', 'domed301b') solver_file.write("Number of Processors = " + str(procttl_dd301b[-1]) + "<BR>\n") solver_file.write("Number of Nonlinear Iterations = ") VV_utilities.format(solver_file, nonlist_dd301b) solver_file.write('<BR>\n') if out_flag_dd301b == 1: solver_file.write( '<FONT COLOR="red">***TIME STEP(S) WHICH FAILED TO CONVERGE</FONT> <BR>\n' ) solver_file.write("Average Number of Linear Iterations per Time-Step = ") VV_utilities.format(solver_file, avg2_dd301b) solver_file.write('<BR> \n') # JFNK gnu 4 proc # Failure checking failedt2 = VV_checks.failcheck(job_path, '/dome30/diagnostic/data/gnu.JFNK.4proc') failedt_list.append(failedt2) solver_file.write('<H4>New Run: gnu.JFNK.4proc</H4>') procttl_dd304, nonlist_dd304, avg2_dd304, out_flag_dd304, ndd304_name, ldd304_name = VV_outprocess.jobprocess( job_path + '/dome30/diagnostic/data/gnu.JFNK.4proc', 'domed304') solver_file.write("Number of Processors = " + str(procttl_dd304[-1]) + "<BR>\n") solver_file.write("Number of Nonlinear Iterations = ") VV_utilities.format(solver_file, nonlist_dd304) solver_file.write('<BR>\n') if out_flag_dd304 == 1: solver_file.write( '<FONT COLOR="red">***TIME STEP(S) THAT FAILED TO CONVERGE</FONT> <BR>\n' ) solver_file.write("Average Number of Linear Iterations per Time-Step = ") VV_utilities.format(solver_file, avg2_dd304) solver_file.write('<BR> \n') solver_file.write('<H4>Benchmark Run: gnu.JFNK.4proc</H4>') procttl_dd304b, nonlist_dd304b, avg2_dd304b, out_flag_dd304b, ndd304b_name, ldd304b_name = VV_outprocess.jobprocess( job_path + '/bench/dome30/diagnostic/data/gnu.JFNK.4proc', 'domed304b') solver_file.write("Number of Processors = " + str(procttl_dd304b[-1]) + "<BR>\n") solver_file.write("Number of Nonlinear Iterations = ") VV_utilities.format(solver_file, nonlist_dd304b) solver_file.write('<BR>\n') if out_flag_dd304b == 1: solver_file.write( '<FONT COLOR="red">***TIME STEP(S) THAT FAILED TO CONVERGE</FONT> <BR>\n' ) solver_file.write("Average Number of Linear Iterations per Time-Step = ") VV_utilities.format(solver_file, avg2_dd304b) solver_file.write('<BR> \n') if 1 in failedt_list: failedt = 1 else: failedt = 0 return failedt
def confdetails(solver_file, job_path): # using data, fill the web page with info failedt_list = [] solver_file.write('<HTML>\n') solver_file.write('<H3>Confined Shelf Iteration Count Details:</H3>') solver_file.write('<H4>Eventually published in plot form</H4>') solver_file.write('<BR> \n') # JFNK 2 proc # Failure checking failedt1 = VV_checks.failcheck(job_path, '/confined-shelf/data/confined-shelf.out') failedt_list.append(failedt1) solver_file.write('<H4>New Run: confined-shelf.out</H4>') procttl_confd, nonlist_confd, avg2_confd, out_flag_confd, ndconf_name, ldconf_name = VV_outprocess.jobprocess( job_path + '/confined-shelf/data/confined-shelf.out', 'conf') solver_file.write("Number of Processors = " + str(procttl_confd[-1]) + "<BR>\n") solver_file.write("Number of Nonlinear Iterations = ") VV_utilities.format(solver_file, nonlist_confd) solver_file.write('<BR>\n') if out_flag_confd == 1: solver_file.write( '<FONT COLOR="red">***TIME STEP(S) WHICH FAILED TO CONVERGE</FONT> <BR>\n' ) solver_file.write("Average Number of Linear Iterations per Time-Step = ") VV_utilities.format(solver_file, avg2_confd) solver_file.write('<BR> \n') solver_file.write('<H4>Benchmark Run: confined-shelf.out</H4>') procttl_confb, nonlist_confb, avg2_confb, out_flag_confb, ndconfb_name, ldconfb_name = VV_outprocess.jobprocess( job_path + '/bench/confined-shelf/data/confined-shelf.out', 'confb') solver_file.write("Number of Processors = " + str(procttl_confb[-1]) + "<BR>\n") solver_file.write("Number of Nonlinear Iterations = ") VV_utilities.format(solver_file, nonlist_confb) solver_file.write('<BR>\n') if out_flag_confb == 1: solver_file.write( '<FONT COLOR="red">***TIME STEP(S) WHICH FAILED TO CONVERGE</FONT> <BR>\n' ) solver_file.write("Average Number of Linear Iterations per Time-Step = ") VV_utilities.format(solver_file, avg2_confb) solver_file.write('<BR> \n') solver_file.write('</HTML>\n') solver_file.close() if 1 in failedt_list: failedt = 1 else: failedt = 0 return failedt
def edetails(solver_file, job_path, ncl_path, data_path, target_html): # using data, fill the web page with info failedt_list = [] solver_file.write('<HTML>\n') solver_file.write('<H3>Evolving Dome 30 Iteration Count Details:</H3>') solver_file.write('<H4>Eventually published in plot form</H4>') solver_file.write('<BR> \n') # JFNK gnu 9 proc # print job_path + '/dome30/evolving/data/gnu.JFNK.1proc' # Failure checking failedt1 = VV_checks.failcheck(job_path, '/dome30/evolving/data/gnu.JFNK.9proc') failedt_list.append(failedt1) procttl_de309, nonlist_de309, avg2_de309, out_flag_de309, nde309_name, lde309_name = VV_outprocess.jobprocess( job_path + '/dome30/evolving/data/gnu.JFNK.9proc', 'domee309') procttl_de309b, nonlist_de309b, avg2_de309b, out_flag_de309b, nde309b_name, lde309b_name = VV_outprocess.jobprocess( job_path + '/bench/dome30/evolving/data/gnu.JFNK.9proc', 'domee309b') # create iteration plots for proudction simulation # data_script=ncl_path + "/solver_dome30.ncl" # plot_dome30_data = "ncl 'nfile=\"" + data_path + "" + nde309_name + "\"'" + ' ' + \ # "'lfile=\"" + data_path + "" + lde309_name + "\"'" + ' ' + \ # "'PNG=\"" + ncl_path + "/dome30e_iter\"'" + ' ' + \ # data_script + ' ' + "1> /dev/null" # try: # output = subprocess.call(plot_dome30_data, shell=True) # except: # print "error formatting iteration plot of dome30 evolving run" # raise #transferring iteration plot to www location # if (ncl_path + '/dome30e_iter.png'): # iterpic = "mv -f " + ncl_path + "/dome30e_iter.png" + " " + target_html + "/" # try: # output = subprocess.call(iterpic, shell=True) # except: # print "error moving dome30 evolving iteration png file" # raise # also display in list format # solver_file.write('<TABLE>\n') # solver_file.write('<TR>\n') # solver_file.write('<H4>Iteration Count for Evolving Dome30 Nonlinear and Linear Solver</H4>\n') # solver_file.write('<OBJECT data="dome30e_iter.png" type="image/png" width="1300" height="800" hspace=10 align=left alt="Solver Plots">\n') # solver_file.write('</OBJECT>\n') # solver_file.write('<TR>\n') solver_file.write('<BR>\n') # solver_file.write('</TABLE>\n') solver_file.write('<H4>New Run: gnu.JFNK.9proc</H4>') solver_file.write("Number of Processors = " + str(procttl_de309[-1]) + "<BR>\n") solver_file.write("Number of Nonlinear Iterations = ") VV_utilities.format(solver_file, nonlist_de309) solver_file.write('<BR>\n') if out_flag_de309 == 1: solver_file.write( '<FONT COLOR="red">***TIME STEP(S) WHICH FAILED TO CONVERGE</FONT> <BR>\n' ) solver_file.write("Average Number of Linear Iterations per Time-Step = ") VV_utilities.format(solver_file, avg2_de309) solver_file.write('<BR> \n') solver_file.write('<H4>Benchmark Run: gnu.JFNK.9proc</H4>') solver_file.write("Number of Processors = " + str(procttl_de309b[-1]) + "<BR>\n") solver_file.write("Number of Nonlinear Iterations = ") VV_utilities.format(solver_file, nonlist_de309b) solver_file.write('<BR>\n') if out_flag_de309b == 1: solver_file.write( '<FONT COLOR="red">***TIME STEP(S) WHICH FAILED TO CONVERGE</FONT> <BR>\n' ) solver_file.write("Average Number of Linear Iterations per Time-Step = ") VV_utilities.format(solver_file, avg2_de309b) solver_file.write('<BR> \n') # JFNK gnu 15 proc # Failure checking failedt2 = VV_checks.failcheck(job_path, '/dome30/evolving/data/gnu.JFNK.15proc') failedt_list.append(failedt2) solver_file.write('<H4>New Run: gnu.JFNK.15proc</H4>') procttl_de3015, nonlist_de3015, avg2_de3015, out_flag_de3015, nde3015_name, lde3015_name = VV_outprocess.jobprocess( job_path + '/dome30/evolving/data/gnu.JFNK.15proc', 'domee3015') solver_file.write("Number of Processors = " + str(procttl_de3015[-1]) + "<BR>\n") solver_file.write("Number of Nonlinear Iterations = ") VV_utilities.format(solver_file, nonlist_de3015) solver_file.write('<BR>\n') if out_flag_de3015 == 1: solver_file.write( '<FONT COLOR="red">***TIME STEP(S) WHICH FAILED TO CONVERGE</FONT> <BR>\n' ) solver_file.write("Average Number of Linear Iterations per Time-Step = ") VV_utilities.format(solver_file, avg2_de3015) solver_file.write('<BR> \n') solver_file.write('<H4>Benchmark Run: gnu.JFNK.15proc</H4>') procttl_de3015b, nonlist_de3015b, avg2_de3015b, out_flag_de3015b, nde3015b_name, lde3015b_name = VV_outprocess.jobprocess( job_path + '/bench/dome30/evolving/data/gnu.JFNK.15proc', 'domee3015b') solver_file.write("Number of Processors = " + str(procttl_de3015b[-1]) + "<BR>\n") solver_file.write("Number of Nonlinear Iterations = ") VV_utilities.format(solver_file, nonlist_de3015b) solver_file.write('<BR>\n') if out_flag_de3015b == 1: solver_file.write( '<FONT COLOR="red">***TIME STEP(S) WHICH FAILED TO CONVERGE</FONT> <BR>\n' ) solver_file.write("Average Number of Linear Iterations per Time-Step = ") VV_utilities.format(solver_file, avg2_de3015b) solver_file.write('<BR> <BR>\n') solver_file.write('</HTML>\n') solver_file.close() if 1 in failedt_list: failedt = 1 else: failedt = 0 return failedt
def c80details(solver_file, job_path): # using data, fill the web page with info solver_file.write('<HTML>\n') solver_file.write('<H3>ISMIP HOM C Iteration Count Details:</H3>') solver_file.write('<H4>Eventually published in plot form</H4>') solver_file.write('<BR> \n') # JFNK gnu 1 proc solver_file.write('<H4>New Run:</H4>') procttl_ih1d, nonlist_ih1d, avg2_ih1d, out_flag_ih1d, ndihc1_name, ldihc1_name = VV_outprocess.jobprocess( job_path + '/ismip-hom-c/80km/data/ishom.c.80km.out.1', 'imhomc1') solver_file.write("Number of Processors = " + str(procttl_ih1d[-1]) + "<BR>\n") solver_file.write("Number of Nonlinear Iterations = ") for item in nonlist_ih1d: solver_file.write(str(item) + ", ") # print this to an array that ncl can use for plotting # print item solver_file.write('<BR>\n') if out_flag_ih1d == 1: solver_file.write( '<FONT COLOR="red">***TIME STEP(S) WHICH FAILED TO CONVERGE</FONT> <BR>\n' ) solver_file.write("Average Number of Linear Iterations per Time-Step = ") for item in avg2_ih1d: solver_file.write(str(item) + ", ") # print this to an array that ncl can use for plotting # print item solver_file.write('<BR> \n') solver_file.write('<H4>Benchmark Run:</H4>') procttl_ih1b, nonlist_ih1b, avg2_ih1b, out_flag_ih1b, ndihc1b_name, ldihc1b_name = VV_outprocess.jobprocess( job_path + '/ismip-hom-c/80km/bench/ishom.c.80km.out.1', 'imhomc1b') solver_file.write("Number of Processors = " + str(procttl_ih1b[-1]) + "<BR>\n") solver_file.write("Number of Nonlinear Iterations = ") for item in nonlist_ih1b: solver_file.write(str(item) + ", ") solver_file.write('<BR>\n') if out_flag_ih1b == 1: solver_file.write( '<FONT COLOR="red">***TIME STEP(S) WHICH FAILED TO CONVERGE</FONT> <BR>\n' ) solver_file.write("Average Number of Linear Iterations per Time-Step = ") for item in avg2_ih1b: solver_file.write(str(item) + ", ") solver_file.write('<BR> \n') # JFNK gnu 2 proc solver_file.write('<H4>New Run:</H4>') procttl_ih2d, nonlist_ih2d, avg2_ih2d, out_flag_ih2d, ndihc2_name, ldihc2_name = VV_outprocess.jobprocess( job_path + '/ismip-hom-c/80km/data/ishom.c.80km.out.2', 'imhom2') solver_file.write("Number of Processors = " + str(procttl_ih2d[-1]) + "<BR>\n") solver_file.write("Number of Nonlinear Iterations = ") for item in nonlist_ih2d: solver_file.write(str(item) + ", ") solver_file.write('<BR>\n') if out_flag_ih2d == 1: solver_file.write( '<FONT COLOR="red">***TIME STEP(S) THAT FAILED TO CONVERGE</FONT> <BR>\n' ) solver_file.write("Average Number of Linear Iterations per Time-Step = ") for item in avg2_ih2d: solver_file.write(str(item) + ", ") solver_file.write('<BR> \n') solver_file.write('<H4>Benchmark Run:</H4>') procttl_ih2b, nonlist_ih2b, avg2_ih2b, out_flag_ih2b, ndihc2b_name, ldihc2b_name = VV_outprocess.jobprocess( job_path + '/ismip-hom-c/80km/bench/ishom.c.80km.out.2', 'imhom2b') solver_file.write("Number of Processors = " + str(procttl_ih2b[-1]) + "<BR>\n") solver_file.write("Number of Nonlinear Iterations = ") for item in nonlist_ih2b: solver_file.write(str(item) + ", ") solver_file.write('<BR>\n') if out_flag_ih2b == 1: solver_file.write( '<FONT COLOR="red">***TIME STEP(S) THAT FAILED TO CONVERGE</FONT> <BR>\n' ) solver_file.write("Average Number of Linear Iterations per Time-Step = ") for item in avg2_ih2b: solver_file.write(str(item) + ", ") solver_file.write('<BR> \n') # JFNK gnu 4 proc solver_file.write('<H4>New Run:</H4>') procttl_ih4d, nonlist_ih4d, avg2_ih4d, out_flag_ih4d, ndihc4_name, ldihc4_name = VV_outprocess.jobprocess( job_path + '/ismip-hom-c/80km/data/ishom.c.80km.out.4', 'imhomc4') solver_file.write("Number of Processors = " + str(procttl_ih4d[-1]) + "<BR>\n") solver_file.write("Number of Nonlinear Iterations = ") for item in nonlist_ih4d: solver_file.write(str(item) + ", ") solver_file.write('<BR>\n') if out_flag_ih4d == 1: solver_file.write( '<FONT COLOR="red">***TIME STEP(S) WHICH FAILED TO CONVERGE</FONT> <BR>\n' ) solver_file.write("Average Number of Linear Iterations per Time-Step = ") for item in avg2_ih4d: solver_file.write(str(item) + ", ") solver_file.write('<BR> \n') solver_file.write('<H4>Benchmark Run:</H4>') procttl_ih4b, nonlist_ih4b, avg2_ih4b, out_flag_ih4b, ndihc4b_name, ldihc4b_name = VV_outprocess.jobprocess( job_path + '/ismip-hom-c/80km/bench/ishom.c.80km.out.4', 'imhomc4b') solver_file.write("Number of Processors = " + str(procttl_ih4b[-1]) + "<BR>\n") solver_file.write("Number of Nonlinear Iterations = ") for item in nonlist_ih4b: solver_file.write(str(item) + ", ") solver_file.write('<BR>\n') if out_flag_ih4b == 1: solver_file.write( '<FONT COLOR="red">***TIME STEP(S) WHICH FAILED TO CONVERGE</FONT> <BR>\n' ) solver_file.write("Average Number of Linear Iterations per Time-Step = ") for item in avg2_ih4b: solver_file.write(str(item) + ", ") solver_file.write('<BR> \n') solver_file.write('</HTML>\n') solver_file.close()
def c80details(solver_file,job_path): # using data, fill the web page with info solver_file.write('<HTML>\n') solver_file.write('<H3>ISMIP HOM C Iteration Count Details:</H3>') solver_file.write('<H4>Eventually published in plot form</H4>') solver_file.write('<BR> \n') # JFNK gnu 1 proc solver_file.write('<H4>New Run:</H4>') procttl_ih1d, nonlist_ih1d,avg2_ih1d,out_flag_ih1d,ndihc1_name,ldihc1_name = VV_outprocess.jobprocess(job_path + '/ismip-hom-c/80km/data/ishom.c.80km.out.1','imhomc1') solver_file.write("Number of Processors = " + str(procttl_ih1d[-1]) + "<BR>\n") solver_file.write("Number of Nonlinear Iterations = ") for item in nonlist_ih1d: solver_file.write(str(item) + ", ") # print this to an array that ncl can use for plotting # print item solver_file.write('<BR>\n') if out_flag_ih1d == 1: solver_file.write('<FONT COLOR="red">***TIME STEP(S) WHICH FAILED TO CONVERGE</FONT> <BR>\n') solver_file.write("Average Number of Linear Iterations per Time-Step = ") for item in avg2_ih1d: solver_file.write(str(item) + ", ") # print this to an array that ncl can use for plotting # print item solver_file.write('<BR> \n') solver_file.write('<H4>Benchmark Run:</H4>') procttl_ih1b, nonlist_ih1b,avg2_ih1b,out_flag_ih1b,ndihc1b_name,ldihc1b_name = VV_outprocess.jobprocess(job_path + '/ismip-hom-c/80km/bench/ishom.c.80km.out.1','imhomc1b') solver_file.write("Number of Processors = " + str(procttl_ih1b[-1]) + "<BR>\n") solver_file.write("Number of Nonlinear Iterations = ") for item in nonlist_ih1b: solver_file.write(str(item) + ", ") solver_file.write('<BR>\n') if out_flag_ih1b == 1: solver_file.write('<FONT COLOR="red">***TIME STEP(S) WHICH FAILED TO CONVERGE</FONT> <BR>\n') solver_file.write("Average Number of Linear Iterations per Time-Step = ") for item in avg2_ih1b: solver_file.write(str(item) + ", ") solver_file.write('<BR> \n') # JFNK gnu 2 proc solver_file.write('<H4>New Run:</H4>') procttl_ih2d, nonlist_ih2d,avg2_ih2d,out_flag_ih2d,ndihc2_name,ldihc2_name = VV_outprocess.jobprocess(job_path + '/ismip-hom-c/80km/data/ishom.c.80km.out.2','imhom2') solver_file.write("Number of Processors = " + str(procttl_ih2d[-1]) + "<BR>\n") solver_file.write("Number of Nonlinear Iterations = ") for item in nonlist_ih2d: solver_file.write(str(item) + ", ") solver_file.write('<BR>\n') if out_flag_ih2d == 1: solver_file.write('<FONT COLOR="red">***TIME STEP(S) THAT FAILED TO CONVERGE</FONT> <BR>\n') solver_file.write("Average Number of Linear Iterations per Time-Step = ") for item in avg2_ih2d: solver_file.write(str(item) + ", ") solver_file.write('<BR> \n') solver_file.write('<H4>Benchmark Run:</H4>') procttl_ih2b, nonlist_ih2b,avg2_ih2b,out_flag_ih2b,ndihc2b_name,ldihc2b_name = VV_outprocess.jobprocess(job_path + '/ismip-hom-c/80km/bench/ishom.c.80km.out.2','imhom2b') solver_file.write("Number of Processors = " + str(procttl_ih2b[-1]) + "<BR>\n") solver_file.write("Number of Nonlinear Iterations = ") for item in nonlist_ih2b: solver_file.write(str(item) + ", ") solver_file.write('<BR>\n') if out_flag_ih2b == 1: solver_file.write('<FONT COLOR="red">***TIME STEP(S) THAT FAILED TO CONVERGE</FONT> <BR>\n') solver_file.write("Average Number of Linear Iterations per Time-Step = ") for item in avg2_ih2b: solver_file.write(str(item) + ", ") solver_file.write('<BR> \n') # JFNK gnu 4 proc solver_file.write('<H4>New Run:</H4>') procttl_ih4d, nonlist_ih4d,avg2_ih4d,out_flag_ih4d,ndihc4_name,ldihc4_name = VV_outprocess.jobprocess(job_path + '/ismip-hom-c/80km/data/ishom.c.80km.out.4','imhomc4') solver_file.write("Number of Processors = " + str(procttl_ih4d[-1]) + "<BR>\n") solver_file.write("Number of Nonlinear Iterations = ") for item in nonlist_ih4d: solver_file.write(str(item) + ", ") solver_file.write('<BR>\n') if out_flag_ih4d == 1: solver_file.write('<FONT COLOR="red">***TIME STEP(S) WHICH FAILED TO CONVERGE</FONT> <BR>\n') solver_file.write("Average Number of Linear Iterations per Time-Step = ") for item in avg2_ih4d: solver_file.write(str(item) + ", ") solver_file.write('<BR> \n') solver_file.write('<H4>Benchmark Run:</H4>') procttl_ih4b, nonlist_ih4b,avg2_ih4b,out_flag_ih4b,ndihc4b_name,ldihc4b_name = VV_outprocess.jobprocess(job_path + '/ismip-hom-c/80km/bench/ishom.c.80km.out.4','imhomc4b') solver_file.write("Number of Processors = " + str(procttl_ih4b[-1]) + "<BR>\n") solver_file.write("Number of Nonlinear Iterations = ") for item in nonlist_ih4b: solver_file.write(str(item) + ", ") solver_file.write('<BR>\n') if out_flag_ih4b == 1: solver_file.write('<FONT COLOR="red">***TIME STEP(S) WHICH FAILED TO CONVERGE</FONT> <BR>\n') solver_file.write("Average Number of Linear Iterations per Time-Step = ") for item in avg2_ih4b: solver_file.write(str(item) + ", ") solver_file.write('<BR> \n') solver_file.write('</HTML>\n') solver_file.close()
def circdetails(circ_file,job_path): # using data, fill the web page with info circ_file.write('<HTML>\n') circ_file.write('<H3>Circular Shelf Iteration Count Details:</H3>') circ_file.write('<H4>Eventually published in plot form</H4>') circ_file.write('<BR> \n') # JFNK 2 proc circ_file.write('<H4>New Run:</H4>') procttl_circd, nonlist_circd,avg2_circd,out_flag_circd,ndcirc_name,ldcirc_name = VV_outprocess.jobprocess(job_path + '/circular-shelf/data/circular-shelf.out','circ') circ_file.write("Number of Processors = " + str(procttl_circd[-1]) + "<BR>\n") circ_file.write("Number of Nonlinear Iterations = ") for item in nonlist_circd: circ_file.write(str(item) + ", ") circ_file.write('<BR>\n') if out_flag_circd == 1: circ_file.write('<FONT COLOR="red">***TIME STEP(S) WHICH FAILED TO CONVERGE</FONT> <BR>\n') circ_file.write("Average Number of Linear Iterations per Time-Step = ") for item in avg2_circd: circ_file.write(str(item) + ", ") circ_file.write('<BR> \n') circ_file.write('<H4>Benchmark Run:</H4>') procttl_circb, nonlist_circb,avg2_circb,out_flag_circb, ndcircb_name,ldcircb_name = VV_outprocess.jobprocess(job_path + '/circular-shelf/bench/circular-shelf.out','circb') circ_file.write("Number of Processors = " + str(procttl_circb[-1]) + "<BR>\n") circ_file.write("Number of Nonlinear Iterations = ") for item in nonlist_circb: circ_file.write(str(item) + ", ") circ_file.write('<BR>\n') if out_flag_circb == 1: circ_file.write('<FONT COLOR="red">***TIME STEP(S) WHICH FAILED TO CONVERGE</FONT> <BR>\n') circ_file.write("Average Number of Linear Iterations per Time-Step = ") for item in avg2_circb: circ_file.write(str(item) + ", ") circ_file.write('<BR> \n')
def confdetails(conf_file, job_path): # using data, fill the web page with info conf_file.write('<HTML>\n') conf_file.write('<H3>Confined Shelf Iteration Count Details:</H3>') conf_file.write('<H4>Eventually published in plot form</H4>') conf_file.write('<BR> \n') # JFNK 2 proc conf_file.write('<H4>New Run:</H4>') procttl_confd, nonlist_confd, avg2_confd, out_flag_confd, ndconf_name, ldconf_name = VV_outprocess.jobprocess( job_path + '/confined-shelf/data/confined-shelf.out', 'conf') conf_file.write("Number of Processors = " + str(procttl_confd[-1]) + "<BR>\n") conf_file.write("Number of Nonlinear Iterations = ") for item in nonlist_confd: conf_file.write(str(item) + ", ") conf_file.write('<BR>\n') if out_flag_confd == 1: conf_file.write( '<FONT COLOR="red">***TIME STEP(S) WHICH FAILED TO CONVERGE</FONT> <BR>\n' ) conf_file.write("Average Number of Linear Iterations per Time-Step = ") for item in avg2_confd: conf_file.write(str(item) + ", ") conf_file.write('<BR> \n') conf_file.write('<H4>Benchmark Run:</H4>') procttl_confb, nonlist_confb, avg2_confb, out_flag_confb, ndconfb_name, ldconfb_name = VV_outprocess.jobprocess( job_path + '/confined-shelf/bench/confined-shelf.out', 'confb') conf_file.write("Number of Processors = " + str(procttl_confb[-1]) + "<BR>\n") conf_file.write("Number of Nonlinear Iterations = ") for item in nonlist_confb: conf_file.write(str(item) + ", ") conf_file.write('<BR>\n') if out_flag_confb == 1: conf_file.write( '<FONT COLOR="red">***TIME STEP(S) WHICH FAILED TO CONVERGE</FONT> <BR>\n' ) conf_file.write("Average Number of Linear Iterations per Time-Step = ") for item in avg2_confb: conf_file.write(str(item) + ", ") conf_file.write('<BR> \n') conf_file.write('</HTML>\n') conf_file.close()