Skip to content

program ​

Implementation level ​

TypeStatus
CML extraction template
HTML5 representation

Template attributes ​

AttributeValue
sourceTurbomole log
repeat*
idprogram
nameProgram version and runtime
pattern\s*\w*\s*\(.*\)\s*\:\s*TURBOMOLE.*
endPattern\s*Copyright.*
endOffset4
xml:baseprogram.version.xml

Input ​

 statpt(maginet-iv108) : TURBOMOLE V6.3 7 Feb 2011 at 15:58:30
 Copyright (C) 2011 TURBOMOLE GmbH, Karlsruhe
 
 
 2011-12-15 08:13:20.786 

Input ​

 relax(maginet-ii146) : TURBOMOLE V5-8-0 24 Nov 2005 at 22:47:17
 Copyright (C) 2005 University of Karlsruhe


 2010-12-23 03:10:52.701

Input ​

 grad (p1052) : TURBOMOLE rev. V7.4.1 (b987a8a8) compiled 15 Oct 2019 at 12:10:21
 Copyright (C) 2019 TURBOMOLE GmbH, Karlsruhe


 2020-05-19 20:44:46.639 

Output text ​

xml
<comment class="example.output" id="program2">
 ridft (maginet165) : TURBOMOLE V6.6( 19134 ) 3 Jun 2014 at 14:53:30
 Copyright (C) 2014 TURBOMOLE GmbH, Karlsruhe


 2015-02-13 10:10:20.395  
  </comment>

Output text ​

xml
<comment class="example.output" id="program">
      <module cmlx:templateRef="program">   
            <list cmlx:templateRef="prog">
               <scalar dataType="xsd:string" dictRef="t:module">statpt</scalar>
               <scalar dataType="xsd:string" dictRef="cc:hostname">maginet-iv108</scalar>
               <scalar dataType="xsd:string" dictRef="cc:program">TURBOMOLE</scalar>
               <scalar dataType="xsd:string" dictRef="cc:programDate">7 Feb 2011 at 15:58:30</scalar>
               <scalar dataType="xsd:string" dictRef="cc:programVersion" id="programVersion">6.3</scalar>
            </list>
            <scalar dataType="xsd:date" dictRef="cc:date">2011-12-15T08:13:20.786+01:00</scalar>
      </module>         
  </comment>

Output text ​

xml
<comment class="example.output" id="program2">
      <module cmlx:templateRef="program">   
          <list cmlx:templateRef="prog">
             <scalar dataType="xsd:string" dictRef="t:module">ridft</scalar>
             <scalar dataType="xsd:string" dictRef="cc:hostname">maginet165</scalar>
             <scalar dataType="xsd:string" dictRef="cc:program">TURBOMOLE</scalar>
             <scalar dataType="xsd:string" dictRef="cc:programDate">3 Jun 2014 at 14:53:30</scalar>
             <scalar dataType="xsd:string" dictRef="cc:programVersion" id="programVersion">6.6</scalar>
          </list>
          <scalar dataType="xsd:date" dictRef="cc:date">2015-02-13T10:10:20.395+01:00</scalar>     
      </module>         
  </comment>

Output text ​

xml
<comment class="example.output" id="program3">
    <module cmlx:templateRef="program">
       <list cmlx:templateRef="prog">
          <scalar dataType="xsd:string" dictRef="t:module">relax</scalar>
          <scalar dataType="xsd:string" dictRef="cc:hostname">maginet-ii146</scalar>
          <scalar dataType="xsd:string" dictRef="cc:program">TURBOMOLE</scalar>
          <scalar dataType="xsd:string" dictRef="cc:programVersion">5-8-0</scalar>
          <scalar dataType="xsd:string" dictRef="cc:programDate">24 Nov 2005 at 22:47:17</scalar>
       </list>
       <scalar dataType="xsd:date" dictRef="cc:date">2010-12-23T03:10:52.701+01:00</scalar>
     </module>
  </comment>

Output text ​

xml
<comment class="example.output" id="program4"> 
    <module cmlx:templateRef="program">
        <list cmlx:templateRef="prog">
           <scalar dataType="xsd:string" dictRef="t:module">grad</scalar>
           <scalar dataType="xsd:string" dictRef="cc:hostname">p1052</scalar>
           <scalar dataType="xsd:string" dictRef="cc:program">TURBOMOLE</scalar>
           <scalar dataType="xsd:string" dictRef="cc:programDate">15 Oct 2019 at 12:10:21</scalar>
           <scalar dataType="xsd:string" dictRef="cc:programVersion" id="programVersion">7.4.1</scalar>
        </list>
        <scalar dataType="xsd:date" dictRef="cc:date">2020-05-19T20:44:46.639+02:00</scalar>
    </module>
  </comment>

Template definition ​

xml
<templateList>  <template name="previous60" pattern="\s*\w*\s*\(.*\)\s*\:\s*TURBOMOLE\s+V\d+-\d+.*" endPattern="~">    <record id="prog">\s*&#123;A,t:module&#125;\(&#123;X,cc:hostname&#125;\)\s*:\s*&#123;A,cc:program&#125;\s*V&#123;A,cc:programVersion&#125;\s+&#123;X,cc:programDate&#125;</record>    <record repeat="3" />    <record id="runtime">&#123;X,cc:date&#125;</record>    <transform process="pullup" xpath=".//cml:scalar" />    <transform process="delete" xpath=".//cml:list[count(*)=0]" />    <transform process="delete" xpath=".//cml:list[count(*)=0]" />    <transform process="createDate" xpath=".//cml:scalar[@dictRef='cc:date']" format="yyyy-MM-dd HH:mm:ss.SSS" />
    </template>  <template name="previous74" pattern="\s*\w*\s*\(.*\)\s*\:\s*TURBOMOLE\s*(?:rev\.)?\s*V\d+\.\d+[\(|\s)].*" endPattern="~">    <record id="prog">\s*&#123;A,t:module&#125;\(&#123;X,cc:hostname&#125;\)\s*:\s*&#123;A,cc:program&#125;\s*(?:rev\.)?\s*V&#123;I,x:programVersionMajor&#125;\.&#123;I,x:programVersionMinor&#125;((\(\s*\S+\s*\))|\s)?(?:\s*compiled\s*)?&#123;X,cc:programDate&#125;</record>    <record repeat="3" />    <record id="runtime">&#123;X,cc:date&#125;</record>    <transform process="pullup" xpath=".//cml:scalar" />    <transform process="delete" xpath=".//cml:list[count(*)=0]" />    <transform process="delete" xpath=".//cml:list[count(*)=0]" />    <transform process="createDate" xpath=".//cml:scalar[@dictRef='cc:date']" format="yyyy-MM-dd HH:mm:ss.SSS" />    <transform process="addChild" xpath="." elementName="cml:scalar" id="programVersion" value="$string(concat(.//cml:scalar[@dictRef='x:programVersionMajor']/text(),'.',.//cml:scalar[@dictRef='x:programVersionMinor']/text()))" />    <transform process="delete" xpath=".//cml:scalar[@dictRef='x:programVersionMajor']" />    <transform process="delete" xpath=".//cml:scalar[@dictRef='x:programVersionMinor']" />    <transform process="moveRelative" xpath=".//cml:scalar[@id='programVersion']" to="./ancestor::*/cml:list[@cmlx:templateRef='prog']" />    <transform process="addAttribute" xpath=".//cml:scalar[@id='programVersion']" name="dataType" value="xsd:string" />    <transform process="addDictRef" xpath=".//cml:scalar[@id='programVersion']" value="cc:programVersion" />
             
    </template>  <template name="after74" pattern="\s*\w*\s*\(.*\)\s*\:\s*TURBOMOLE\s*(?:rev\.)?\s*V\d+\.\d+\.\d+[\(|\s)].*" endPattern="~">    <record id="prog">\s*&#123;A,t:module&#125;\(&#123;X,cc:hostname&#125;\)\s*:\s*&#123;A,cc:program&#125;\s*(?:rev\.)?\s*V&#123;I,x:programVersionMajor&#125;\.&#123;I,x:programVersionMinor&#125;\.&#123;I,x:programVersionBug&#125;(?:(\(\s*\S+\s*\))|\s)(?:\s*compiled)?&#123;X,cc:programDate&#125;</record>    <record repeat="3" />    <record id="runtime">&#123;X,cc:date&#125;</record>    <transform process="pullup" xpath=".//cml:scalar" />    <transform process="delete" xpath=".//cml:list[count(*)=0]" />    <transform process="delete" xpath=".//cml:list[count(*)=0]" />    <transform process="createDate" xpath=".//cml:scalar[@dictRef='cc:date']" format="yyyy-MM-dd HH:mm:ss.SSS" />    <transform process="addChild" xpath="." elementName="cml:scalar" id="programVersion" value="$string(concat(.//cml:scalar[@dictRef='x:programVersionMajor']/text(),'.',.//cml:scalar[@dictRef='x:programVersionMinor']/text(),'.',.//cml:scalar[@dictRef='x:programVersionBug']/text()))" />    <transform process="delete" xpath=".//cml:scalar[@dictRef='x:programVersionMajor']" />    <transform process="delete" xpath=".//cml:scalar[@dictRef='x:programVersionMinor']" />    <transform process="delete" xpath=".//cml:scalar[@dictRef='x:programVersionBug']" />    <transform process="moveRelative" xpath=".//cml:scalar[@id='programVersion']" to="./ancestor::*/cml:list[@cmlx:templateRef='prog']" />    <transform process="addAttribute" xpath=".//cml:scalar[@id='programVersion']" name="dataType" value="xsd:string" />    <transform process="addDictRef" xpath=".//cml:scalar[@id='programVersion']" value="cc:programVersion" />
    </template>
  </templateList>
<transform process="pullup" xpath=".//cml:list[@cmlx:templateRef='prog']" />
<transform process="pullup" xpath=".//cml:scalar[@dictRef='cc:date']" />