<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.yambo-code.eu/wiki/index.php?action=history&amp;feed=atom&amp;title=Parse_ytiming.py</id>
	<title>Parse ytiming.py - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.yambo-code.eu/wiki/index.php?action=history&amp;feed=atom&amp;title=Parse_ytiming.py"/>
	<link rel="alternate" type="text/html" href="https://wiki.yambo-code.eu/wiki/index.php?title=Parse_ytiming.py&amp;action=history"/>
	<updated>2026-04-22T16:13:07Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://wiki.yambo-code.eu/wiki/index.php?title=Parse_ytiming.py&amp;diff=3646&amp;oldid=prev</id>
		<title>Daniele at 14:36, 24 January 2020</title>
		<link rel="alternate" type="text/html" href="https://wiki.yambo-code.eu/wiki/index.php?title=Parse_ytiming.py&amp;diff=3646&amp;oldid=prev"/>
		<updated>2020-01-24T14:36:35Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 14:36, 24 January 2020&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l261&quot;&gt;Line 261:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 261:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    main(sys.argv)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    main(sys.argv)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;/&lt;/ins&gt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Daniele</name></author>
	</entry>
	<entry>
		<id>https://wiki.yambo-code.eu/wiki/index.php?title=Parse_ytiming.py&amp;diff=3645&amp;oldid=prev</id>
		<title>Daniele at 14:35, 24 January 2020</title>
		<link rel="alternate" type="text/html" href="https://wiki.yambo-code.eu/wiki/index.php?title=Parse_ytiming.py&amp;diff=3645&amp;oldid=prev"/>
		<updated>2020-01-24T14:35:39Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 14:35, 24 January 2020&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Save the following text into a file called &amp;#039;&amp;#039;&amp;#039;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;parse_qp&lt;/del&gt;.py&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Save the following text into a file called &amp;#039;&amp;#039;&amp;#039;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;parse_ytiming&lt;/ins&gt;.py&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#! /usr/bin/env python3&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#! /usr/bin/env python3&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l261&quot;&gt;Line 261:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 261:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    main(sys.argv)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    main(sys.argv)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;\&lt;/del&gt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Daniele</name></author>
	</entry>
	<entry>
		<id>https://wiki.yambo-code.eu/wiki/index.php?title=Parse_ytiming.py&amp;diff=3644&amp;oldid=prev</id>
		<title>Daniele: Created page with &quot;Save the following text into a file called &#039;&#039;&#039;parse_qp.py&#039;&#039;&#039; &lt;pre&gt; #! /usr/bin/env python3 import sys  def parse_report(file_report,fmt_seconds):    #    parse_timing=False...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.yambo-code.eu/wiki/index.php?title=Parse_ytiming.py&amp;diff=3644&amp;oldid=prev"/>
		<updated>2020-01-24T14:35:08Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;Save the following text into a file called &amp;#039;&amp;#039;&amp;#039;parse_qp.py&amp;#039;&amp;#039;&amp;#039; &amp;lt;pre&amp;gt; #! /usr/bin/env python3 import sys  def parse_report(file_report,fmt_seconds):    #    parse_timing=False...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Save the following text into a file called &amp;#039;&amp;#039;&amp;#039;parse_qp.py&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#! /usr/bin/env python3&lt;br /&gt;
import sys&lt;br /&gt;
&lt;br /&gt;
def parse_report(file_report,fmt_seconds):&lt;br /&gt;
   #&lt;br /&gt;
   parse_timing=False&lt;br /&gt;
   outd={}&lt;br /&gt;
   outd[&amp;quot;parallel_structure&amp;quot;]=&amp;quot;&amp;quot;&lt;br /&gt;
   outd[&amp;quot;mpi_tasks&amp;quot;]=1&lt;br /&gt;
   outd[&amp;quot;openmp_tasks&amp;quot;]=1&lt;br /&gt;
   outd[&amp;quot;ncores&amp;quot;]=1&lt;br /&gt;
   outd[&amp;quot;completed&amp;quot;]=False&lt;br /&gt;
   #&lt;br /&gt;
   fl=open(file_report,&amp;quot;r&amp;quot;)&lt;br /&gt;
   #print (&amp;quot;parsing &amp;quot;+file_report)&lt;br /&gt;
   #&lt;br /&gt;
   for line in fl:&lt;br /&gt;
     #&lt;br /&gt;
     # versioning&lt;br /&gt;
     #&lt;br /&gt;
     if &amp;quot;Version&amp;quot; in line:&lt;br /&gt;
       s=line.split()&lt;br /&gt;
       outd[&amp;quot;version&amp;quot;]=s[s.index(&amp;quot;Version&amp;quot;)+1]&lt;br /&gt;
     if &amp;quot;Revision&amp;quot; in line:&lt;br /&gt;
       s=line.split()&lt;br /&gt;
       outd[&amp;quot;revision&amp;quot;]=s[s.index(&amp;quot;Revision&amp;quot;)+1]&lt;br /&gt;
     if &amp;quot;Hash&amp;quot; in line:&lt;br /&gt;
       s=line.split()&lt;br /&gt;
       outd[&amp;quot;hash&amp;quot;]=s[s.index(&amp;quot;Hash&amp;quot;)+1]&lt;br /&gt;
     #&lt;br /&gt;
     # parallel data&lt;br /&gt;
     #&lt;br /&gt;
     if &amp;quot;CPU-Threads&amp;quot; in line:&lt;br /&gt;
       outd[&amp;quot;parallel_structure&amp;quot;]=outd[&amp;quot;parallel_structure&amp;quot;]+&amp;quot; &amp;quot; \&lt;br /&gt;
                                  +line.split(&amp;quot;:&amp;quot;)[1].replace(&amp;quot;\n&amp;quot;,&amp;quot; &amp;quot;)&lt;br /&gt;
     if &amp;quot;MPI CPU&amp;quot; in line:&lt;br /&gt;
       outd[&amp;quot;mpi_tasks&amp;quot;]=int(line.split(&amp;quot;:&amp;quot;)[-1])&lt;br /&gt;
     if &amp;quot;THREADS   &amp;quot; in line:&lt;br /&gt;
       outd[&amp;quot;openmp_threads&amp;quot;]=int(line.split(&amp;quot;:&amp;quot;)[-1])&lt;br /&gt;
     if &amp;quot;THREADS TOT(max)&amp;quot; in line:&lt;br /&gt;
       outd[&amp;quot;ncores&amp;quot;]=int(line.split(&amp;quot;:&amp;quot;)[-1])&lt;br /&gt;
     #&lt;br /&gt;
     # timing&lt;br /&gt;
     #&lt;br /&gt;
if &amp;quot;Timing Overview&amp;quot; in line: parse_timing=True&lt;br /&gt;
     if &amp;quot;| The users of YAMBO have little formal obligations &amp;quot; in line:&lt;br /&gt;
         parse_timing=False&lt;br /&gt;
         outd[&amp;quot;completed&amp;quot;]=True&lt;br /&gt;
     #&lt;br /&gt;
     if parse_timing and &amp;quot;Timing  &amp;quot; in line:&lt;br /&gt;
       outd[&amp;quot;wall_time&amp;quot;] = line.split(&amp;quot;:&amp;quot;)[1].split(&amp;quot;/&amp;quot;)[0].replace(&amp;quot;-&amp;quot;,&amp;quot;&amp;quot;)&lt;br /&gt;
     if parse_timing and &amp;quot;io_WF&amp;quot; in line:&lt;br /&gt;
       outd[&amp;quot;io_WF_time&amp;quot;] = line.split(&amp;quot;:&amp;quot;)[1].split(&amp;quot;CPU&amp;quot;)[0]&lt;br /&gt;
     if parse_timing and &amp;quot;io_HF&amp;quot; in line:&lt;br /&gt;
       outd[&amp;quot;io_HF_time&amp;quot;] = line.split(&amp;quot;:&amp;quot;)[1].split(&amp;quot;CPU&amp;quot;)[0]&lt;br /&gt;
     if parse_timing and &amp;quot;io_DIPOLES&amp;quot; in line:&lt;br /&gt;
       outd[&amp;quot;io_DIPOLES_time&amp;quot;] = line.split(&amp;quot;:&amp;quot;)[1].split(&amp;quot;CPU&amp;quot;)[0]&lt;br /&gt;
     if parse_timing and &amp;quot;io_X&amp;quot; in line:&lt;br /&gt;
       outd[&amp;quot;io_X_time&amp;quot;] = line.split(&amp;quot;:&amp;quot;)[1].split(&amp;quot;CPU&amp;quot;)[0]&lt;br /&gt;
     if parse_timing and &amp;quot;RIM&amp;quot; in line:&lt;br /&gt;
       outd[&amp;quot;RIM_time&amp;quot;] = line.split(&amp;quot;:&amp;quot;)[1].split(&amp;quot;CPU&amp;quot;)[0]&lt;br /&gt;
     if parse_timing and &amp;quot;Coulomb Cutoff&amp;quot; in line:&lt;br /&gt;
       outd[&amp;quot;cutoff_time&amp;quot;] = line.split(&amp;quot;:&amp;quot;)[1].split(&amp;quot;CPU&amp;quot;)[0]&lt;br /&gt;
     if parse_timing and &amp;quot;Dipoles :&amp;quot; in line:&lt;br /&gt;
       outd[&amp;quot;dip_time&amp;quot;] = line.split(&amp;quot;:&amp;quot;)[1].split(&amp;quot;CPU&amp;quot;)[0]&lt;br /&gt;
     #if parse_timing and &amp;quot;Dipoles (REDUX)&amp;quot; in line:&lt;br /&gt;
     #  outd[&amp;quot;dip_REDUX_time&amp;quot;] = line.split(&amp;quot;:&amp;quot;)[1].split(&amp;quot;CPU&amp;quot;)[0]&lt;br /&gt;
     if parse_timing and &amp;quot;Xo (procedure)&amp;quot; in line:&lt;br /&gt;
       outd[&amp;quot;Xo_time&amp;quot;] = line.split(&amp;quot;:&amp;quot;)[1].split(&amp;quot;CPU&amp;quot;)[0]&lt;br /&gt;
     if parse_timing and &amp;quot;Xo (REDUX)&amp;quot; in line:&lt;br /&gt;
       outd[&amp;quot;Xo_REDUX_time&amp;quot;] = line.split(&amp;quot;:&amp;quot;)[1].split(&amp;quot;CPU&amp;quot;)[0]&lt;br /&gt;
     if parse_timing and &amp;quot;X (procedure)&amp;quot; in line:&lt;br /&gt;
       outd[&amp;quot;X_time&amp;quot;] = line.split(&amp;quot;:&amp;quot;)[1].split(&amp;quot;CPU&amp;quot;)[0]&lt;br /&gt;
     if parse_timing and &amp;quot;X (REDUX)&amp;quot; in line:&lt;br /&gt;
       outd[&amp;quot;X_REDUX_time&amp;quot;] = line.split(&amp;quot;:&amp;quot;)[1].split(&amp;quot;CPU&amp;quot;)[0]&lt;br /&gt;
     if parse_timing and &amp;quot;LINEAR ALGEBRA&amp;quot; in line:&lt;br /&gt;
       outd[&amp;quot;LinAlG_time&amp;quot;] = line.split(&amp;quot;:&amp;quot;)[1].split(&amp;quot;CPU&amp;quot;)[0]&lt;br /&gt;
     if parse_timing and &amp;quot; HF &amp;quot; in line:&lt;br /&gt;
       outd[&amp;quot;HF_time&amp;quot;] = line.split(&amp;quot;:&amp;quot;)[1].split(&amp;quot;CPU&amp;quot;)[0]&lt;br /&gt;
     if parse_timing and &amp;quot;HF(REDUX)&amp;quot; in line:&lt;br /&gt;
       outd[&amp;quot;HF_REDUX_time&amp;quot;] = line.split(&amp;quot;:&amp;quot;)[1].split(&amp;quot;CPU&amp;quot;)[0]&lt;br /&gt;
     if parse_timing and &amp;quot;GW(ppa)&amp;quot; in line:&lt;br /&gt;
       outd[&amp;quot;GW_time&amp;quot;] = line.split(&amp;quot;:&amp;quot;)[1].split(&amp;quot;CPU&amp;quot;)[0]&lt;br /&gt;
     if parse_timing and &amp;quot;GW(REDUX)&amp;quot; in line:&lt;br /&gt;
       outd[&amp;quot;GW_REDUX_time&amp;quot;] = line.split(&amp;quot;:&amp;quot;)[1].split(&amp;quot;CPU&amp;quot;)[0]&lt;br /&gt;
&lt;br /&gt;
   fl.close()&lt;br /&gt;
   clean_parsed_data(outd)&lt;br /&gt;
 #&lt;br /&gt;
   if fmt_seconds:&lt;br /&gt;
      outd_sec=convert_to_sec(outd)&lt;br /&gt;
      outd=outd_sec&lt;br /&gt;
      #if &amp;quot;dip_time_sec&amp;quot; in outd  and &amp;quot;dip_REDUX_time_sec&amp;quot; in outd : outd[&amp;quot;dip_tot_time_sec&amp;quot;]=outd[&amp;quot;dip_time_sec&amp;quot;]+outd[&amp;quot;dip_REDUX_time_sec&amp;quot;]&lt;br /&gt;
      if &amp;quot;Xo_time_sec&amp;quot;  in outd  and &amp;quot;Xo_REDUX_time_sec&amp;quot;  in outd : outd[&amp;quot;Xo_tot_time_sec&amp;quot;]=outd[&amp;quot;Xo_time_sec&amp;quot;]+outd[&amp;quot;Xo_REDUX_time_sec&amp;quot;]&lt;br /&gt;
      if &amp;quot;X_time_sec&amp;quot;   in outd  and &amp;quot;X_REDUX_time_sec&amp;quot;   in outd : outd[&amp;quot;X_tot_time_sec&amp;quot;]=outd[&amp;quot;X_time_sec&amp;quot;]+outd[&amp;quot;X_REDUX_time_sec&amp;quot;]&lt;br /&gt;
      if &amp;quot;HF_time_sec&amp;quot;  in outd  and &amp;quot;HF_REDUX_time_sec&amp;quot;  in outd : outd[&amp;quot;HF_tot_time_sec&amp;quot;]=outd[&amp;quot;HF_time_sec&amp;quot;]+outd[&amp;quot;HF_REDUX_time_sec&amp;quot;]&lt;br /&gt;
      if &amp;quot;GW_time_sec&amp;quot;  in outd  and &amp;quot;GW_REDUX_time_sec&amp;quot;  in outd : outd[&amp;quot;GW_tot_time_sec&amp;quot;]=outd[&amp;quot;GW_time_sec&amp;quot;]+outd[&amp;quot;GW_REDUX_time_sec&amp;quot;]&lt;br /&gt;
   #&lt;br /&gt;
   #print(outd)&lt;br /&gt;
   #print()&lt;br /&gt;
   return outd&lt;br /&gt;
&lt;br /&gt;
def convert_to_sec(outd):&lt;br /&gt;
   outd_new={}&lt;br /&gt;
   for key,val in outd.items():&lt;br /&gt;
      if isinstance(val,str) and &amp;quot;_time&amp;quot; in key :&lt;br /&gt;
         key_new=key+&amp;quot;_sec&amp;quot;&lt;br /&gt;
         val_new=0&lt;br /&gt;
         if &amp;quot;d&amp;quot; in val:&lt;br /&gt;
            val_new+= 86400*int(val.split(&amp;quot;d&amp;quot;)[0])&lt;br /&gt;
            val=val.split(&amp;quot;d&amp;quot;)[1]&lt;br /&gt;
         if &amp;quot;h&amp;quot; in val:&lt;br /&gt;
            val_new+= 3600*int(val.split(&amp;quot;h&amp;quot;)[0])&lt;br /&gt;
            val=val.split(&amp;quot;h&amp;quot;)[1]&lt;br /&gt;
         if &amp;quot;m&amp;quot; in val:&lt;br /&gt;
            val_new+= 60*int(val.split(&amp;#039;m&amp;#039;)[0])&lt;br /&gt;
            val=val.split(&amp;quot;m&amp;quot;)[1]&lt;br /&gt;
         if &amp;quot;s&amp;quot; in val:&lt;br /&gt;
            val_new+=int(float(val.split(&amp;quot;s&amp;quot;)[0]))&lt;br /&gt;
         outd_new[key_new]=val_new&lt;br /&gt;
      else:&lt;br /&gt;
         outd_new[key]=val&lt;br /&gt;
      #&lt;br /&gt;
   return outd_new&lt;br /&gt;
&lt;br /&gt;
def clean_parsed_data(outd):&lt;br /&gt;
   #&lt;br /&gt;
   for key in outd:&lt;br /&gt;
     val=outd[key]&lt;br /&gt;
     if isinstance(val,str):&lt;br /&gt;
        val=val.replace(&amp;quot; &amp;quot;,&amp;quot;&amp;quot;)&lt;br /&gt;
        outd[key]=val&lt;br /&gt;
&lt;br /&gt;
def print_parsed_data(outd,datafile=None):&lt;br /&gt;
    print()&lt;br /&gt;
    if datafile != None:&lt;br /&gt;
       print(&amp;quot; %20s : %s &amp;quot; % (&amp;quot;file&amp;quot;, str(datafile)))&lt;br /&gt;
    #&lt;br /&gt;
    for key in outd:&lt;br /&gt;
       print(&amp;quot; %20s : %s &amp;quot; % (key, str(outd[key])) )&lt;br /&gt;
    print()&lt;br /&gt;
&lt;br /&gt;
def formatter(val,maxfield=12):&lt;br /&gt;
    sval=str(val)&lt;br /&gt;
    return &amp;quot; &amp;quot;*(maxfield-len(sval))+sval&lt;br /&gt;
&lt;br /&gt;
def print_perfGW_data(outd=None,fmt_seconds=False,header=False):&lt;br /&gt;
    #&lt;br /&gt;
    if outd==None: return&lt;br /&gt;
    if header :&lt;br /&gt;
       strout =&amp;quot;# ncores&amp;quot;&lt;br /&gt;
       if &amp;quot;mpi_tasks&amp;quot;     in outd : strout+=formatter(&amp;quot;MPI&amp;quot;)&lt;br /&gt;
       if &amp;quot;openmp_threads&amp;quot;in outd : strout+=formatter(&amp;quot;threads&amp;quot;)&lt;br /&gt;
       #&lt;br /&gt;
       if not fmt_seconds:&lt;br /&gt;
          if &amp;quot;dip_time&amp;quot;      in outd : strout+=formatter(&amp;quot;dip&amp;quot;)&lt;br /&gt;
          if &amp;quot;dip_REDUX_time&amp;quot;in outd : strout+=formatter(&amp;quot;dip_REDUX&amp;quot;)&lt;br /&gt;
          if &amp;quot;Xo_time&amp;quot;       in outd : strout+=formatter(&amp;quot;Xo&amp;quot;)&lt;br /&gt;
          if &amp;quot;Xo_REDUX_time&amp;quot; in outd : strout+=formatter(&amp;quot;Xo_REDUX&amp;quot;)&lt;br /&gt;
          if &amp;quot;X_time&amp;quot;        in outd : strout+=formatter(&amp;quot;X&amp;quot;)&lt;br /&gt;
          if &amp;quot;X_REDUX_time&amp;quot;  in outd : strout+=formatter(&amp;quot;X_REDUX&amp;quot;)&lt;br /&gt;
          if &amp;quot;io_X_time&amp;quot;     in outd : strout+=formatter(&amp;quot;io_X&amp;quot;)&lt;br /&gt;
          if &amp;quot;io_WF_time&amp;quot;    in outd : strout+=formatter(&amp;quot;io_WF&amp;quot;)&lt;br /&gt;
          if &amp;quot;HF_time&amp;quot;       in outd : strout+=formatter(&amp;quot;Sgm_x&amp;quot;)&lt;br /&gt;
          if &amp;quot;HF_REDUX_time&amp;quot; in outd : strout+=formatter(&amp;quot;(REDUX)&amp;quot;)&lt;br /&gt;
          if &amp;quot;GW_time&amp;quot;       in outd : strout+=formatter(&amp;quot;Sgm_c&amp;quot;)&lt;br /&gt;
          if &amp;quot;GW_REDUX_time&amp;quot; in outd : strout+=formatter(&amp;quot;(REDUX)&amp;quot;)&lt;br /&gt;
          if &amp;quot;wall_time&amp;quot;     in outd : strout+=formatter(&amp;quot;WALL_TIME&amp;quot;)&lt;br /&gt;
       else:&lt;br /&gt;
          if &amp;quot;dip_time_sec&amp;quot;  in outd : strout+=formatter(&amp;quot;dip_TOT&amp;quot;)&lt;br /&gt;
          if &amp;quot;Xo_time_sec&amp;quot;   in outd : strout+=formatter(&amp;quot;Xo_TOT&amp;quot;)&lt;br /&gt;
          if &amp;quot;X_time_sec&amp;quot;    in outd : strout+=formatter(&amp;quot;X_TOT&amp;quot;)&lt;br /&gt;
          if &amp;quot;io_X_time_sec&amp;quot; in outd : strout+=formatter(&amp;quot;io_X&amp;quot;)&lt;br /&gt;
          if &amp;quot;io_WF_time_sec&amp;quot;in outd : strout+=formatter(&amp;quot;io_WF&amp;quot;)&lt;br /&gt;
          if &amp;quot;HF_time_sec&amp;quot;   in outd : strout+=formatter(&amp;quot;Sgm_x_TOT&amp;quot;)&lt;br /&gt;
          if &amp;quot;GW_time_sec&amp;quot;   in outd : strout+=formatter(&amp;quot;Sgm_c_TOT&amp;quot;)&lt;br /&gt;
          if &amp;quot;wall_time_sec&amp;quot; in outd : strout+=formatter(&amp;quot;WALL_TIME&amp;quot;)&lt;br /&gt;
       #&lt;br /&gt;
       print(strout)&lt;br /&gt;
       return&lt;br /&gt;
&lt;br /&gt;
    strout = formatter(outd[&amp;quot;ncores&amp;quot;],len(&amp;quot;# ncores&amp;quot;))&lt;br /&gt;
    if &amp;quot;mpi_tasks&amp;quot;     in outd : strout+= formatter(outd[&amp;quot;mpi_tasks&amp;quot;])&lt;br /&gt;
    if &amp;quot;openmp_threads&amp;quot;in outd : strout+= formatter(outd[&amp;quot;openmp_threads&amp;quot;])&lt;br /&gt;
    if not outd[&amp;quot;completed&amp;quot;]:&lt;br /&gt;
       print(strout)&lt;br /&gt;
       return&lt;br /&gt;
&lt;br /&gt;
    if not fmt_seconds:&lt;br /&gt;
       if &amp;quot;dip_time&amp;quot;        in outd : strout+= formatter(outd[&amp;quot;dip_time&amp;quot;])&lt;br /&gt;
       if &amp;quot;dip_REDUX_time&amp;quot;  in outd : strout+= formatter(outd[&amp;quot;dip_REDUX_time&amp;quot;])&lt;br /&gt;
       if &amp;quot;Xo_time&amp;quot;       in outd : strout+= formatter(outd[&amp;quot;Xo_time&amp;quot;])&lt;br /&gt;
       if &amp;quot;Xo_REDUX_time&amp;quot; in outd : strout+= formatter(outd[&amp;quot;Xo_REDUX_time&amp;quot;])&lt;br /&gt;
       if &amp;quot;X_time&amp;quot;        in outd : strout+= formatter(outd[&amp;quot;X_time&amp;quot;])&lt;br /&gt;
       if &amp;quot;X_REDUX_time&amp;quot;  in outd : strout+= formatter(outd[&amp;quot;X_REDUX_time&amp;quot;])&lt;br /&gt;
       if &amp;quot;io_X_time&amp;quot;     in outd : strout+= formatter(outd[&amp;quot;io_X_time&amp;quot;])&lt;br /&gt;
       if &amp;quot;io_WF_time&amp;quot;    in outd : strout+= formatter(outd[&amp;quot;io_WF_time&amp;quot;])&lt;br /&gt;
       if &amp;quot;HF_time&amp;quot;       in outd : strout+= formatter(outd[&amp;quot;HF_time&amp;quot;])&lt;br /&gt;
       if &amp;quot;HF_REDUX_time&amp;quot; in outd : strout+= formatter(outd[&amp;quot;HF_REDUX_time&amp;quot;])&lt;br /&gt;
       if &amp;quot;GW_time&amp;quot;       in outd : strout+= formatter(outd[&amp;quot;GW_time&amp;quot;])&lt;br /&gt;
       if &amp;quot;GW_REDUX_time&amp;quot; in outd : strout+= formatter(outd[&amp;quot;GW_REDUX_time&amp;quot;])&lt;br /&gt;
       if &amp;quot;wall_time&amp;quot;     in outd : strout+= formatter(outd[&amp;quot;wall_time&amp;quot;])&lt;br /&gt;
    else:&lt;br /&gt;
       #if &amp;quot;dip_tot_time_sec&amp;quot;in outd : strout+= formatter(str(outd[&amp;quot;dip_tot_time_sec&amp;quot;]))&lt;br /&gt;
       if &amp;quot;dip_time_sec&amp;quot;    in outd : strout+= formatter(str(outd[&amp;quot;dip_time_sec&amp;quot;]))&lt;br /&gt;
       if &amp;quot;Xo_tot_time_sec&amp;quot; in outd : strout+= formatter(str(outd[&amp;quot;Xo_tot_time_sec&amp;quot;]))&lt;br /&gt;
       if &amp;quot;X_tot_time_sec&amp;quot;  in outd : strout+= formatter(str(outd[&amp;quot;X_tot_time_sec&amp;quot;]))&lt;br /&gt;
       if &amp;quot;io_X_time_sec&amp;quot;   in outd : strout+= formatter(str(outd[&amp;quot;io_X_time_sec&amp;quot;]))&lt;br /&gt;
       if &amp;quot;io_WF_time_sec&amp;quot;  in outd : strout+= formatter(str(outd[&amp;quot;io_WF_time_sec&amp;quot;]))&lt;br /&gt;
       if &amp;quot;HF_tot_time_sec&amp;quot; in outd : strout+= formatter(str(outd[&amp;quot;HF_tot_time_sec&amp;quot;]))&lt;br /&gt;
       if &amp;quot;GW_tot_time_sec&amp;quot; in outd : strout+= formatter(str(outd[&amp;quot;GW_tot_time_sec&amp;quot;]))&lt;br /&gt;
       if &amp;quot;wall_time_sec&amp;quot;   in outd : strout+= formatter(str(outd[&amp;quot;wall_time_sec&amp;quot;]))&lt;br /&gt;
&lt;br /&gt;
    print(strout)&lt;br /&gt;
    return&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def main(argv):&lt;br /&gt;
   #&lt;br /&gt;
   #&lt;br /&gt;
   usage_str=&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
  Usage parse_Yambo.py  [-h,--help] [-s, --sec] [-a, --all]  file1 file2...&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   #&lt;br /&gt;
   verbose=False&lt;br /&gt;
   fmt_seconds=False&lt;br /&gt;
   #&lt;br /&gt;
   if len(argv) == 1:&lt;br /&gt;
     print(usage_str)&lt;br /&gt;
     sys.exit(1)&lt;br /&gt;
   if argv[1]==&amp;quot;-h&amp;quot; or argv[1]==&amp;quot;--help&amp;quot;:&lt;br /&gt;
     print(usage_str)&lt;br /&gt;
     sys.exit(0)&lt;br /&gt;
   if argv[1]==&amp;quot;-a&amp;quot; or argv[1]==&amp;quot;--all&amp;quot;:&lt;br /&gt;
     argv.pop(1)&lt;br /&gt;
     verbose=True&lt;br /&gt;
   if argv[1]==&amp;quot;-s&amp;quot; or argv[1]==&amp;quot;--sec&amp;quot;:&lt;br /&gt;
     argv.pop(1)&lt;br /&gt;
     fmt_seconds=True&lt;br /&gt;
   #&lt;br /&gt;
   flist=argv&lt;br /&gt;
   first=True&lt;br /&gt;
   for f in flist[1:]:&lt;br /&gt;
     #&lt;br /&gt;
     outd=parse_report(f,fmt_seconds)&lt;br /&gt;
     #&lt;br /&gt;
     if not verbose and first :  print_perfGW_data(outd,fmt_seconds,header=True)&lt;br /&gt;
     #&lt;br /&gt;
     first=False&lt;br /&gt;
     #&lt;br /&gt;
     if verbose:&lt;br /&gt;
        print_parsed_data(outd,datafile=f)&lt;br /&gt;
     else:&lt;br /&gt;
        print_perfGW_data(outd,fmt_seconds)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
   main(sys.argv)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;\pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daniele</name></author>
	</entry>
</feed>