From 5e0214e21a814fe99f27612af1043789ec89ed3e Mon Sep 17 00:00:00 2001 From: Karl-Hermann Wieners <karl-hermann.wieners@mpimet.mpg.de> Date: Mon, 7 Feb 2022 17:21:04 +0100 Subject: [PATCH] Revert "Config: re-worked job extension and added global variable override" This reverts commit 5e9ef6e971f82c6ccc9c10c8a5ffa4ce951fcc27. --- CHANGES.txt | 7 +- Makefile | 2 +- doc/mkexp.fodt | 1102 ++++++++++++++++++++++------------------------- doc/mkexp.pdf | Bin 193360 -> 191959 bytes expconfig.py | 32 +- mkexp | 189 ++++---- package_info.py | 2 +- test.py | 32 -- 8 files changed, 635 insertions(+), 731 deletions(-) diff --git a/CHANGES.txt b/CHANGES.txt index 7634ca4..8ef3480 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -6,7 +6,7 @@ Make Experiments! Release Changes --------------- -Release 1.2.0 +Release 1.1.2 ============= Global @@ -18,9 +18,6 @@ Configuration ------------- * Fixed job config corruption while overriding namelists in another job -* Added full access to all other job configs for every job -* Added overriding of global variables in jobs -* Added job settings to global variable list (same as 'JOB' section) Templates --------- @@ -30,7 +27,7 @@ Templates Release 1.1.1 ============= -* Replaced by 1.2.0 +* Replaced by 1.1.2 Version 1.1.1rc2 ================ diff --git a/Makefile b/Makefile index 28f2d8f..d58d87f 100644 --- a/Makefile +++ b/Makefile @@ -5,7 +5,7 @@ PYTHON = python all: clean: - $(RM) -r build dist MANIFEST *.pyc __pycache__ + $(RM) -r build dist MANIFEST *.pyc distclean: clean $(RM) doc/*.pdf diff --git a/doc/mkexp.fodt b/doc/mkexp.fodt index 0e776ca..8048128 100644 --- a/doc/mkexp.fodt +++ b/doc/mkexp.fodt @@ -1,28 +1,28 @@ <?xml version="1.0" encoding="UTF-8"?> <office:document xmlns:officeooo="http://openoffice.org/2009/office" xmlns:css3t="http://www.w3.org/TR/css3-text/" xmlns:grddl="http://www.w3.org/2003/g/data-view#" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:rpt="http://openoffice.org/2005/report" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:ooo="http://openoffice.org/2004/office" xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" xmlns:formx="urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0" xmlns:calcext="urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0" xmlns:drawooo="http://openoffice.org/2010/draw" xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0" xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:tableooo="http://openoffice.org/2009/table" xmlns:loext="urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" xmlns:dom="http://www.w3.org/2001/xml-events" xmlns:xforms="http://www.w3.org/2002/xforms" office:version="1.2" office:mimetype="application/vnd.oasis.opendocument.text"> - <office:meta><meta:creation-date>2015-01-05T17:44:27.618344249</meta:creation-date><dc:title>Make Experiments!</dc:title><meta:editing-duration>P12DT4H34M58S</meta:editing-duration><meta:editing-cycles>188</meta:editing-cycles><meta:generator>LibreOffice/6.4.7.2$Linux_X86_64 LibreOffice_project/40$Build-2</meta:generator><meta:initial-creator>Karl-Hermann Wieners</meta:initial-creator><dc:date>2021-12-23T10:36:26.040535318</dc:date><dc:creator>Karl-Hermann Wieners</dc:creator><meta:printed-by>Karl-Hermann Wieners</meta:printed-by><meta:print-date>2015-01-20T10:55:48.576690105</meta:print-date><dc:subject>Run-script generation for earth system models</dc:subject><meta:document-statistic meta:table-count="0" meta:image-count="0" meta:object-count="0" meta:page-count="29" meta:paragraph-count="641" meta:word-count="8844" meta:character-count="56197" meta:non-whitespace-character-count="47505"/><meta:template xlink:type="simple" xlink:actuate="onRequest" xlink:title="A4" xlink:href="../../../../../../home/m221078/.config/libreoffice/4/user/template/A4.ott" meta:date="2015-01-05T17:44:27.463210655"/></office:meta> + <office:meta><meta:creation-date>2015-01-05T17:44:27.618344249</meta:creation-date><dc:title>Make Experiments!</dc:title><meta:editing-duration>P12DT4H23M33S</meta:editing-duration><meta:editing-cycles>184</meta:editing-cycles><meta:generator>LibreOffice/6.4.7.2$Linux_X86_64 LibreOffice_project/40$Build-2</meta:generator><meta:initial-creator>Karl-Hermann Wieners</meta:initial-creator><dc:date>2021-11-01T15:29:03.073600672</dc:date><dc:creator>Karl-Hermann Wieners</dc:creator><meta:printed-by>Karl-Hermann Wieners</meta:printed-by><meta:print-date>2015-01-20T10:55:48.576690105</meta:print-date><dc:subject>Run-script generation for earth system models</dc:subject><meta:document-statistic meta:table-count="0" meta:image-count="0" meta:object-count="0" meta:page-count="29" meta:paragraph-count="639" meta:word-count="8826" meta:character-count="56108" meta:non-whitespace-character-count="47433"/><meta:template xlink:type="simple" xlink:actuate="onRequest" xlink:title="A4" xlink:href="../../../../../../home/m221078/.config/libreoffice/4/user/template/A4.ott" meta:date="2015-01-05T17:44:27.463210655"/></office:meta> <office:settings> <config:config-item-set config:name="ooo:view-settings"> - <config:config-item config:name="ViewAreaTop" config:type="long">9347</config:config-item> + <config:config-item config:name="ViewAreaTop" config:type="long">438949</config:config-item> <config:config-item config:name="ViewAreaLeft" config:type="long">0</config:config-item> - <config:config-item config:name="ViewAreaWidth" config:type="long">22026</config:config-item> - <config:config-item config:name="ViewAreaHeight" config:type="long">18690</config:config-item> + <config:config-item config:name="ViewAreaWidth" config:type="long">22124</config:config-item> + <config:config-item config:name="ViewAreaHeight" config:type="long">15572</config:config-item> <config:config-item config:name="ShowRedlineChanges" config:type="boolean">false</config:config-item> <config:config-item config:name="InBrowseMode" config:type="boolean">false</config:config-item> <config:config-item-map-indexed config:name="Views"> <config:config-item-map-entry> <config:config-item config:name="ViewId" config:type="string">view2</config:config-item> - <config:config-item config:name="ViewLeft" config:type="long">12931</config:config-item> - <config:config-item config:name="ViewTop" config:type="long">15081</config:config-item> + <config:config-item config:name="ViewLeft" config:type="long">15510</config:config-item> + <config:config-item config:name="ViewTop" config:type="long">445172</config:config-item> <config:config-item config:name="VisibleLeft" config:type="long">0</config:config-item> - <config:config-item config:name="VisibleTop" config:type="long">9347</config:config-item> - <config:config-item config:name="VisibleRight" config:type="long">22024</config:config-item> - <config:config-item config:name="VisibleBottom" config:type="long">28035</config:config-item> + <config:config-item config:name="VisibleTop" config:type="long">438949</config:config-item> + <config:config-item config:name="VisibleRight" config:type="long">22123</config:config-item> + <config:config-item config:name="VisibleBottom" config:type="long">454519</config:config-item> <config:config-item config:name="ZoomType" config:type="short">3</config:config-item> <config:config-item config:name="ViewLayoutColumns" config:type="short">0</config:config-item> <config:config-item config:name="ViewLayoutBookMode" config:type="boolean">false</config:config-item> - <config:config-item config:name="ZoomFactor" config:type="short">111</config:config-item> + <config:config-item config:name="ZoomFactor" config:type="short">130</config:config-item> <config:config-item config:name="IsSelectedFrame" config:type="boolean">false</config:config-item> <config:config-item config:name="AnchoredTextOverflowLegacy" config:type="boolean">false</config:config-item> </config:config-item-map-entry> @@ -81,9 +81,9 @@ <config:config-item config:name="AddParaTableSpacing" config:type="boolean">true</config:config-item> <config:config-item config:name="StylesNoDefault" config:type="boolean">false</config:config-item> <config:config-item config:name="ChartAutoUpdate" config:type="boolean">true</config:config-item> - <config:config-item config:name="PrinterSetup" config:type="base64Binary">swH+/0hQLU9mZmljZWpldC00NjIwLXNlcmllcwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQ1VQUzpIUC1PZmZpY2VqZXQtNDYyMC1zZXJpZXMAAAAWAAMA0AAAAAAAAAAIAFZUAAAkbQAASm9iRGF0YSAxCnByaW50ZXI9SFAtT2ZmaWNlamV0LTQ2MjAtc2VyaWVzCm9yaWVudGF0aW9uPVBvcnRyYWl0CmNvcGllcz0xCmNvbGxhdGU9ZmFsc2UKbWFyZ2luZGFqdXN0bWVudD0wLDAsMCwwCmNvbG9yZGVwdGg9MjQKcHNsZXZlbD0wCnBkZmRldmljZT0xCmNvbG9yZGV2aWNlPTAKUFBEQ29udGV4RGF0YQpQYWdlU2l6ZTpMZXR0ZXIASW5wdXRTbG90OkF1dG8AABIAQ09NUEFUX0RVUExFWF9NT0RFEwBEdXBsZXhNb2RlOjpVbmtub3du</config:config-item> + <config:config-item config:name="PrinterSetup" config:type="base64Binary">swH+/0hQLU9mZmljZWpldC00NjIwLXNlcmllcwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQ1VQUzpIUC1PZmZpY2VqZXQtNDYyMC1zZXJpZXMAAAAWAAMA0AAAAAAAAAAIAFZUAAAkbQAASm9iRGF0YSAxCnByaW50ZXI9SFAtT2ZmaWNlamV0LTQ2MjAtc2VyaWVzCm9yaWVudGF0aW9uPVBvcnRyYWl0CmNvcGllcz0xCmNvbGxhdGU9ZmFsc2UKbWFyZ2luZGFqdXN0bWVudD0wLDAsMCwwCmNvbG9yZGVwdGg9MjQKcHNsZXZlbD0wCnBkZmRldmljZT0xCmNvbG9yZGV2aWNlPTAKUFBEQ29udGV4RGF0YQpJbnB1dFNsb3Q6QXV0bwBQYWdlU2l6ZTpMZXR0ZXIAABIAQ09NUEFUX0RVUExFWF9NT0RFEwBEdXBsZXhNb2RlOjpVbmtub3du</config:config-item> <config:config-item config:name="AddParaTableSpacingAtStart" config:type="boolean">true</config:config-item> - <config:config-item config:name="Rsid" config:type="int">20661895</config:config-item> + <config:config-item config:name="Rsid" config:type="int">20483402</config:config-item> <config:config-item config:name="EmbeddedDatabaseName" config:type="string"/> <config:config-item config:name="FieldAutoUpdate" config:type="boolean">true</config:config-item> <config:config-item config:name="OutlineLevelYieldsNumbering" config:type="boolean">false</config:config-item> @@ -147,7 +147,7 @@ <office:styles> <style:default-style style:family="graphic"> <style:graphic-properties svg:stroke-color="#3465a4" draw:fill-color="#729fcf" fo:wrap-option="no-wrap" draw:shadow-offset-x="0.3cm" draw:shadow-offset-y="0.3cm" draw:start-line-spacing-horizontal="0.283cm" draw:start-line-spacing-vertical="0.283cm" draw:end-line-spacing-horizontal="0.283cm" draw:end-line-spacing-vertical="0.283cm" style:flow-with-text="false"/> - <style:paragraph-properties style:text-autospace="ideograph-alpha" style:line-break="strict" style:writing-mode="lr-tb" style:font-independent-line-spacing="false"> + <style:paragraph-properties style:text-autospace="ideograph-alpha" style:line-break="strict" style:font-independent-line-spacing="false"> <style:tab-stops/> </style:paragraph-properties> <style:text-properties style:use-window-font-color="true" style:font-name="Liberation Serif" fo:font-size="12pt" fo:language="en" fo:country="US" style:letter-kerning="true" style:font-name-asian="Droid Sans Fallback" style:font-size-asian="10.5pt" style:language-asian="zh" style:country-asian="CN" style:font-name-complex="FreeSans" style:font-size-complex="12pt" style:language-complex="hi" style:country-complex="IN"/> @@ -1487,106 +1487,73 @@ <style:paragraph-properties style:page-number="auto"/> <style:text-properties officeooo:rsid="00cef9a3" officeooo:paragraph-rsid="00cef9a3"/> </style:style> - <style:style style:name="P350" style:family="paragraph" style:parent-style-name="Contents_20_1"> - <style:paragraph-properties> - <style:tab-stops> - <style:tab-stop style:position="17cm" style:type="right" style:leader-style="dotted" style:leader-text="."/> - </style:tab-stops> - </style:paragraph-properties> - </style:style> - <style:style style:name="P351" style:family="paragraph" style:parent-style-name="Contents_20_2"> - <style:paragraph-properties> - <style:tab-stops> - <style:tab-stop style:position="16.501cm" style:type="right" style:leader-style="dotted" style:leader-text="."/> - </style:tab-stops> - </style:paragraph-properties> - </style:style> - <style:style style:name="P352" style:family="paragraph" style:parent-style-name="Contents_20_3"> - <style:paragraph-properties> - <style:tab-stops> - <style:tab-stop style:position="16.002cm" style:type="right" style:leader-style="dotted" style:leader-text="."/> - </style:tab-stops> - </style:paragraph-properties> - </style:style> - <style:style style:name="P353" style:family="paragraph" style:parent-style-name="Contents_20_Heading"> - <style:paragraph-properties fo:break-before="page"/> - </style:style> - <style:style style:name="P354" style:family="paragraph" style:parent-style-name="Heading_20_1"> + <style:style style:name="P350" style:family="paragraph" style:parent-style-name="Heading_20_1"> <style:text-properties officeooo:rsid="001888a2" officeooo:paragraph-rsid="009eea28"/> </style:style> - <style:style style:name="P355" style:family="paragraph" style:parent-style-name="Heading_20_1"> + <style:style style:name="P351" style:family="paragraph" style:parent-style-name="Heading_20_1"> <style:paragraph-properties fo:break-before="page"/> <style:text-properties officeooo:rsid="000a3505" officeooo:paragraph-rsid="000a3505"/> </style:style> - <style:style style:name="P356" style:family="paragraph" style:parent-style-name="Heading_20_2"> + <style:style style:name="P352" style:family="paragraph" style:parent-style-name="Heading_20_2"> <style:text-properties officeooo:paragraph-rsid="00b17591"/> </style:style> - <style:style style:name="P357" style:family="paragraph" style:parent-style-name="Heading_20_2"> + <style:style style:name="P353" style:family="paragraph" style:parent-style-name="Heading_20_2"> <style:text-properties officeooo:rsid="00288fc1" officeooo:paragraph-rsid="00423119"/> </style:style> - <style:style style:name="P358" style:family="paragraph" style:parent-style-name="Heading_20_2"> + <style:style style:name="P354" style:family="paragraph" style:parent-style-name="Heading_20_2"> <style:text-properties officeooo:paragraph-rsid="012dcfed"/> </style:style> - <style:style style:name="P359" style:family="paragraph" style:parent-style-name="Heading_20_2"> + <style:style style:name="P355" style:family="paragraph" style:parent-style-name="Heading_20_2"> <style:text-properties officeooo:paragraph-rsid="00f3a79a"/> </style:style> - <style:style style:name="P360" style:family="paragraph" style:parent-style-name="Heading_20_2"> + <style:style style:name="P356" style:family="paragraph" style:parent-style-name="Heading_20_2"> <style:text-properties officeooo:paragraph-rsid="0063d022"/> </style:style> - <style:style style:name="P361" style:family="paragraph" style:parent-style-name="Heading_20_2"> + <style:style style:name="P357" style:family="paragraph" style:parent-style-name="Heading_20_2"> <style:text-properties fo:font-style="normal" officeooo:paragraph-rsid="0086f697" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P362" style:family="paragraph" style:parent-style-name="Heading_20_3"> + <style:style style:name="P358" style:family="paragraph" style:parent-style-name="Heading_20_3"> <style:text-properties officeooo:rsid="00750ebf" officeooo:paragraph-rsid="0074d148"/> </style:style> - <style:style style:name="P363" style:family="paragraph" style:parent-style-name="Heading_20_3"> + <style:style style:name="P359" style:family="paragraph" style:parent-style-name="Heading_20_3"> <style:text-properties officeooo:rsid="00750ebf" officeooo:paragraph-rsid="00750ebf"/> </style:style> - <style:style style:name="P364" style:family="paragraph" style:parent-style-name="Heading_20_3"> + <style:style style:name="P360" style:family="paragraph" style:parent-style-name="Heading_20_3"> <style:text-properties officeooo:rsid="00f3a79a" officeooo:paragraph-rsid="00f3a79a"/> </style:style> - <style:style style:name="P365" style:family="paragraph" style:parent-style-name="Heading_20_3"> + <style:style style:name="P361" style:family="paragraph" style:parent-style-name="Heading_20_3"> <style:text-properties officeooo:rsid="00d7bd9c" officeooo:paragraph-rsid="00d7bd9c"/> </style:style> - <style:style style:name="P366" style:family="paragraph" style:parent-style-name="Heading_20_3"> + <style:style style:name="P362" style:family="paragraph" style:parent-style-name="Heading_20_3"> <style:text-properties fo:font-style="normal" style:text-underline-style="none" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P367" style:family="paragraph" style:parent-style-name="Heading_20_3"> + <style:style style:name="P363" style:family="paragraph" style:parent-style-name="Heading_20_3"> <style:text-properties fo:font-style="normal" style:text-underline-style="none" officeooo:rsid="009beecc" officeooo:paragraph-rsid="009beecc" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P368" style:family="paragraph" style:parent-style-name="Heading_20_3"> + <style:style style:name="P364" style:family="paragraph" style:parent-style-name="Heading_20_3"> <style:text-properties fo:font-style="normal" style:text-underline-style="none" officeooo:paragraph-rsid="00c2926f" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P369" style:family="paragraph" style:parent-style-name="Heading_20_3"> + <style:style style:name="P365" style:family="paragraph" style:parent-style-name="Heading_20_3"> <style:text-properties fo:font-style="normal" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P370" style:family="paragraph" style:parent-style-name="Heading_20_3"> + <style:style style:name="P366" style:family="paragraph" style:parent-style-name="Heading_20_3"> <style:text-properties fo:font-style="normal" officeooo:paragraph-rsid="00931d47" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P371" style:family="paragraph" style:parent-style-name="Heading_20_3"> + <style:style style:name="P367" style:family="paragraph" style:parent-style-name="Heading_20_3"> <style:text-properties fo:font-style="normal" officeooo:rsid="009715be" officeooo:paragraph-rsid="00c6886f" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="P372" style:family="paragraph" style:parent-style-name="Heading_20_3"> + <style:style style:name="P368" style:family="paragraph" style:parent-style-name="Heading_20_3"> <style:text-properties officeooo:rsid="0063d022" officeooo:paragraph-rsid="0063d022"/> </style:style> - <style:style style:name="P373" style:family="paragraph" style:parent-style-name="Heading_20_3"> + <style:style style:name="P369" style:family="paragraph" style:parent-style-name="Heading_20_3"> <style:text-properties officeooo:paragraph-rsid="00fb6b92"/> </style:style> - <style:style style:name="P374" style:family="paragraph" style:parent-style-name="Heading_20_3"> + <style:style style:name="P370" style:family="paragraph" style:parent-style-name="Heading_20_3"> <style:text-properties officeooo:rsid="011bfd3c" officeooo:paragraph-rsid="011bfd3c"/> </style:style> - <style:style style:name="P375" style:family="paragraph" style:parent-style-name="Heading_20_3"> + <style:style style:name="P371" style:family="paragraph" style:parent-style-name="Heading_20_3"> <style:text-properties officeooo:rsid="00c6886f" officeooo:paragraph-rsid="00c6886f"/> </style:style> - <style:style style:name="P376" style:family="paragraph" style:parent-style-name="Text_20_body"> - <style:text-properties officeooo:paragraph-rsid="0056317a"/> - </style:style> - <style:style style:name="P377" style:family="paragraph" style:parent-style-name="Text_20_body"> - <style:text-properties fo:font-style="normal" style:text-underline-style="none" officeooo:rsid="0053695f" officeooo:paragraph-rsid="0053695f" style:font-style-asian="normal" style:font-style-complex="normal"/> - </style:style> - <style:style style:name="P378" style:family="paragraph" style:parent-style-name="Text_20_body"> - <style:text-properties officeooo:paragraph-rsid="00551136"/> - </style:style> <style:style style:name="T1" style:family="text"> <style:text-properties officeooo:rsid="000be205"/> </style:style> @@ -2041,668 +2008,641 @@ <style:text-properties fo:font-style="normal" style:text-underline-style="none" officeooo:rsid="010837cd" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> <style:style style:name="T152" style:family="text"> - <style:text-properties fo:font-style="normal" style:text-underline-style="none" officeooo:rsid="013943dd" style:font-style-asian="normal" style:font-style-complex="normal"/> - </style:style> - <style:style style:name="T153" style:family="text"> - <style:text-properties fo:font-style="normal" style:text-underline-style="none" officeooo:rsid="0139581c" style:font-style-asian="normal" style:font-style-complex="normal"/> - </style:style> - <style:style style:name="T154" style:family="text"> <style:text-properties fo:font-style="normal" style:text-underline-style="none" fo:font-weight="bold" style:font-style-asian="normal" style:font-weight-asian="bold" style:font-style-complex="normal" style:font-weight-complex="bold"/> </style:style> - <style:style style:name="T155" style:family="text"> + <style:style style:name="T153" style:family="text"> <style:text-properties fo:font-style="normal" style:text-underline-style="none" fo:font-weight="bold" officeooo:rsid="00657146" style:font-style-asian="normal" style:font-weight-asian="bold" style:font-style-complex="normal" style:font-weight-complex="bold"/> </style:style> - <style:style style:name="T156" style:family="text"> + <style:style style:name="T154" style:family="text"> <style:text-properties fo:font-style="normal" style:text-underline-style="none" fo:font-weight="bold" officeooo:rsid="00c2ee8b" style:font-style-asian="normal" style:font-weight-asian="bold" style:font-style-complex="normal" style:font-weight-complex="bold"/> </style:style> - <style:style style:name="T157" style:family="text"> + <style:style style:name="T155" style:family="text"> <style:text-properties fo:font-style="normal" style:text-underline-style="none" fo:font-weight="bold" officeooo:rsid="00c2926f" style:font-style-asian="normal" style:font-weight-asian="bold" style:font-style-complex="normal" style:font-weight-complex="bold"/> </style:style> - <style:style style:name="T158" style:family="text"> + <style:style style:name="T156" style:family="text"> <style:text-properties fo:font-style="normal" style:text-underline-style="none" fo:font-weight="normal" style:font-style-asian="normal" style:font-weight-asian="normal" style:font-style-complex="normal" style:font-weight-complex="normal"/> </style:style> - <style:style style:name="T159" style:family="text"> + <style:style style:name="T157" style:family="text"> <style:text-properties fo:font-style="normal" style:text-underline-style="none" fo:font-weight="normal" officeooo:rsid="00657146" style:font-style-asian="normal" style:font-weight-asian="normal" style:font-style-complex="normal" style:font-weight-complex="normal"/> </style:style> - <style:style style:name="T160" style:family="text"> + <style:style style:name="T158" style:family="text"> <style:text-properties fo:font-style="normal" fo:font-weight="bold" style:font-style-asian="normal" style:font-weight-asian="bold" style:font-style-complex="normal" style:font-weight-complex="bold"/> </style:style> - <style:style style:name="T161" style:family="text"> + <style:style style:name="T159" style:family="text"> <style:text-properties fo:font-style="normal" fo:font-weight="bold" officeooo:rsid="00881a06" style:font-style-asian="normal" style:font-weight-asian="bold" style:font-style-complex="normal" style:font-weight-complex="bold"/> </style:style> - <style:style style:name="T162" style:family="text"> + <style:style style:name="T160" style:family="text"> <style:text-properties fo:font-style="normal" fo:font-weight="bold" officeooo:rsid="0090e55e" style:font-style-asian="normal" style:font-weight-asian="bold" style:font-style-complex="normal" style:font-weight-complex="bold"/> </style:style> - <style:style style:name="T163" style:family="text"> + <style:style style:name="T161" style:family="text"> <style:text-properties fo:font-style="normal" fo:font-weight="normal" style:font-style-asian="normal" style:font-weight-asian="normal" style:font-style-complex="normal" style:font-weight-complex="normal"/> </style:style> - <style:style style:name="T164" style:family="text"> + <style:style style:name="T162" style:family="text"> <style:text-properties fo:font-style="normal" fo:font-weight="normal" officeooo:rsid="00cba5e3" style:font-style-asian="normal" style:font-weight-asian="normal" style:font-style-complex="normal" style:font-weight-complex="normal"/> </style:style> - <style:style style:name="T165" style:family="text"> + <style:style style:name="T163" style:family="text"> <style:text-properties fo:font-style="normal" fo:font-weight="normal" officeooo:rsid="00cfb468" style:font-style-asian="normal" style:font-weight-asian="normal" style:font-style-complex="normal" style:font-weight-complex="normal"/> </style:style> - <style:style style:name="T166" style:family="text"> + <style:style style:name="T164" style:family="text"> <style:text-properties fo:font-style="normal" fo:font-weight="normal" officeooo:rsid="01311b9e" style:font-style-asian="normal" style:font-weight-asian="normal" style:font-style-complex="normal" style:font-weight-complex="normal"/> </style:style> - <style:style style:name="T167" style:family="text"> + <style:style style:name="T165" style:family="text"> <style:text-properties fo:font-style="normal" style:text-underline-style="solid" style:text-underline-width="auto" style:text-underline-color="font-color" fo:font-weight="bold" style:font-style-asian="normal" style:font-weight-asian="bold" style:font-style-complex="normal" style:font-weight-complex="bold"/> </style:style> - <style:style style:name="T168" style:family="text"> + <style:style style:name="T166" style:family="text"> <style:text-properties fo:font-style="normal" style:text-underline-style="solid" style:text-underline-width="auto" style:text-underline-color="font-color" fo:font-weight="normal" style:font-style-asian="normal" style:font-weight-asian="normal" style:font-style-complex="normal" style:font-weight-complex="normal"/> </style:style> - <style:style style:name="T169" style:family="text"> + <style:style style:name="T167" style:family="text"> <style:text-properties officeooo:rsid="001c98f3"/> </style:style> - <style:style style:name="T170" style:family="text"> + <style:style style:name="T168" style:family="text"> <style:text-properties fo:font-weight="bold" style:font-weight-asian="bold" style:font-weight-complex="bold"/> </style:style> - <style:style style:name="T171" style:family="text"> + <style:style style:name="T169" style:family="text"> <style:text-properties fo:font-weight="bold" officeooo:rsid="00145993" style:font-weight-asian="bold" style:font-weight-complex="bold"/> </style:style> - <style:style style:name="T172" style:family="text"> + <style:style style:name="T170" style:family="text"> <style:text-properties fo:font-weight="bold" officeooo:rsid="00136724" style:font-weight-asian="bold" style:font-weight-complex="bold"/> </style:style> - <style:style style:name="T173" style:family="text"> + <style:style style:name="T171" style:family="text"> <style:text-properties fo:font-weight="bold" officeooo:rsid="003b8120" style:font-weight-asian="bold" style:font-weight-complex="bold"/> </style:style> - <style:style style:name="T174" style:family="text"> + <style:style style:name="T172" style:family="text"> <style:text-properties fo:font-weight="bold" officeooo:rsid="003ee797" style:font-weight-asian="bold" style:font-weight-complex="bold"/> </style:style> - <style:style style:name="T175" style:family="text"> + <style:style style:name="T173" style:family="text"> <style:text-properties fo:font-weight="bold" officeooo:rsid="00840f80" style:font-weight-asian="bold" style:font-weight-complex="bold"/> </style:style> - <style:style style:name="T176" style:family="text"> + <style:style style:name="T174" style:family="text"> <style:text-properties fo:font-weight="bold" officeooo:rsid="00881a06" style:font-weight-asian="bold" style:font-weight-complex="bold"/> </style:style> - <style:style style:name="T177" style:family="text"> + <style:style style:name="T175" style:family="text"> <style:text-properties fo:font-weight="bold" officeooo:rsid="008a0101" style:font-weight-asian="bold" style:font-weight-complex="bold"/> </style:style> - <style:style style:name="T178" style:family="text"> + <style:style style:name="T176" style:family="text"> <style:text-properties fo:font-weight="bold" officeooo:rsid="00c0dbdb" style:font-weight-asian="bold" style:font-weight-complex="bold"/> </style:style> - <style:style style:name="T179" style:family="text"> + <style:style style:name="T177" style:family="text"> <style:text-properties fo:font-weight="bold" officeooo:rsid="00c2ee8b" style:font-weight-asian="bold" style:font-weight-complex="bold"/> </style:style> - <style:style style:name="T180" style:family="text"> + <style:style style:name="T178" style:family="text"> <style:text-properties fo:font-weight="bold" officeooo:rsid="00cfb468" style:font-weight-asian="bold" style:font-weight-complex="bold"/> </style:style> - <style:style style:name="T181" style:family="text"> + <style:style style:name="T179" style:family="text"> <style:text-properties fo:font-weight="bold" officeooo:rsid="011cd839" style:font-weight-asian="bold" style:font-weight-complex="bold"/> </style:style> - <style:style style:name="T182" style:family="text"> + <style:style style:name="T180" style:family="text"> <style:text-properties fo:font-weight="bold" officeooo:rsid="011e9cc8" style:font-weight-asian="bold" style:font-weight-complex="bold"/> </style:style> - <style:style style:name="T183" style:family="text"> + <style:style style:name="T181" style:family="text"> <style:text-properties fo:font-weight="bold" officeooo:rsid="011f7d97" style:font-weight-asian="bold" style:font-weight-complex="bold"/> </style:style> - <style:style style:name="T184" style:family="text"> + <style:style style:name="T182" style:family="text"> <style:text-properties fo:font-weight="bold" officeooo:rsid="01311b9e" style:font-weight-asian="bold" style:font-weight-complex="bold"/> </style:style> - <style:style style:name="T185" style:family="text"> + <style:style style:name="T183" style:family="text"> <style:text-properties officeooo:rsid="0022e63d"/> </style:style> - <style:style style:name="T186" style:family="text"> + <style:style style:name="T184" style:family="text"> <style:text-properties officeooo:rsid="00237330"/> </style:style> - <style:style style:name="T187" style:family="text"> + <style:style style:name="T185" style:family="text"> <style:text-properties officeooo:rsid="00288fc1"/> </style:style> - <style:style style:name="T188" style:family="text"> + <style:style style:name="T186" style:family="text"> <style:text-properties officeooo:rsid="00292fe5"/> </style:style> - <style:style style:name="T189" style:family="text"> + <style:style style:name="T187" style:family="text"> <style:text-properties officeooo:rsid="002a37cf"/> </style:style> - <style:style style:name="T190" style:family="text"> + <style:style style:name="T188" style:family="text"> <style:text-properties officeooo:rsid="002ba7b2"/> </style:style> - <style:style style:name="T191" style:family="text"> + <style:style style:name="T189" style:family="text"> <style:text-properties officeooo:rsid="002df45a"/> </style:style> - <style:style style:name="T192" style:family="text"> + <style:style style:name="T190" style:family="text"> <style:text-properties officeooo:rsid="002f6125"/> </style:style> - <style:style style:name="T193" style:family="text"> + <style:style style:name="T191" style:family="text"> <style:text-properties officeooo:rsid="0031081b"/> </style:style> - <style:style style:name="T194" style:family="text"> + <style:style style:name="T192" style:family="text"> <style:text-properties officeooo:rsid="003212b8"/> </style:style> - <style:style style:name="T195" style:family="text"> + <style:style style:name="T193" style:family="text"> <style:text-properties officeooo:rsid="003317d4"/> </style:style> - <style:style style:name="T196" style:family="text"> + <style:style style:name="T194" style:family="text"> <style:text-properties officeooo:rsid="0034e855"/> </style:style> - <style:style style:name="T197" style:family="text"> + <style:style style:name="T195" style:family="text"> <style:text-properties officeooo:rsid="0035341c"/> </style:style> - <style:style style:name="T198" style:family="text"> + <style:style style:name="T196" style:family="text"> <style:text-properties officeooo:rsid="003740c5"/> </style:style> - <style:style style:name="T199" style:family="text"> + <style:style style:name="T197" style:family="text"> <style:text-properties officeooo:rsid="0038d36e"/> </style:style> - <style:style style:name="T200" style:family="text"> + <style:style style:name="T198" style:family="text"> <style:text-properties officeooo:rsid="003a5594"/> </style:style> - <style:style style:name="T201" style:family="text"> + <style:style style:name="T199" style:family="text"> <style:text-properties officeooo:rsid="003b8120"/> </style:style> - <style:style style:name="T202" style:family="text"> + <style:style style:name="T200" style:family="text"> <style:text-properties officeooo:rsid="003d6783"/> </style:style> - <style:style style:name="T203" style:family="text"> + <style:style style:name="T201" style:family="text"> <style:text-properties officeooo:rsid="003ee797"/> </style:style> - <style:style style:name="T204" style:family="text"> + <style:style style:name="T202" style:family="text"> <style:text-properties fo:font-weight="normal" style:font-weight-asian="normal" style:font-weight-complex="normal"/> </style:style> - <style:style style:name="T205" style:family="text"> + <style:style style:name="T203" style:family="text"> <style:text-properties fo:font-weight="normal" officeooo:rsid="00405b5f" style:font-weight-asian="normal" style:font-weight-complex="normal"/> </style:style> - <style:style style:name="T206" style:family="text"> + <style:style style:name="T204" style:family="text"> <style:text-properties fo:font-weight="normal" officeooo:rsid="00cfb468" style:font-weight-asian="normal" style:font-weight-complex="normal"/> </style:style> - <style:style style:name="T207" style:family="text"> + <style:style style:name="T205" style:family="text"> <style:text-properties fo:font-weight="normal" officeooo:rsid="00d08d3b" style:font-weight-asian="normal" style:font-weight-complex="normal"/> </style:style> - <style:style style:name="T208" style:family="text"> + <style:style style:name="T206" style:family="text"> <style:text-properties fo:font-weight="normal" officeooo:rsid="010b31a7" style:font-weight-asian="normal" style:font-weight-complex="normal"/> </style:style> - <style:style style:name="T209" style:family="text"> + <style:style style:name="T207" style:family="text"> <style:text-properties fo:font-weight="normal" officeooo:rsid="011cd839" style:font-weight-asian="normal" style:font-weight-complex="normal"/> </style:style> - <style:style style:name="T210" style:family="text"> + <style:style style:name="T208" style:family="text"> <style:text-properties fo:font-weight="normal" officeooo:rsid="011e9cc8" style:font-weight-asian="normal" style:font-weight-complex="normal"/> </style:style> - <style:style style:name="T211" style:family="text"> + <style:style style:name="T209" style:family="text"> <style:text-properties fo:font-weight="normal" officeooo:rsid="011f7d97" style:font-weight-asian="normal" style:font-weight-complex="normal"/> </style:style> - <style:style style:name="T212" style:family="text"> + <style:style style:name="T210" style:family="text"> <style:text-properties fo:font-weight="normal" officeooo:rsid="01311b9e" style:font-weight-asian="normal" style:font-weight-complex="normal"/> </style:style> - <style:style style:name="T213" style:family="text"> + <style:style style:name="T211" style:family="text"> <style:text-properties fo:font-weight="normal" officeooo:rsid="0136a7ba" style:font-weight-asian="normal" style:font-weight-complex="normal"/> </style:style> - <style:style style:name="T214" style:family="text"> + <style:style style:name="T212" style:family="text"> <style:text-properties officeooo:rsid="0040993d"/> </style:style> - <style:style style:name="T215" style:family="text"> + <style:style style:name="T213" style:family="text"> <style:text-properties officeooo:rsid="004133c6"/> </style:style> - <style:style style:name="T216" style:family="text"> + <style:style style:name="T214" style:family="text"> <style:text-properties officeooo:rsid="00436ab9"/> </style:style> - <style:style style:name="T217" style:family="text"> + <style:style style:name="T215" style:family="text"> <style:text-properties officeooo:rsid="00484f3f"/> </style:style> - <style:style style:name="T218" style:family="text"> + <style:style style:name="T216" style:family="text"> <style:text-properties officeooo:rsid="004a6d15"/> </style:style> - <style:style style:name="T219" style:family="text"> + <style:style style:name="T217" style:family="text"> <style:text-properties officeooo:rsid="004ba389"/> </style:style> - <style:style style:name="T220" style:family="text"> + <style:style style:name="T218" style:family="text"> <style:text-properties officeooo:rsid="004fd5cd"/> </style:style> - <style:style style:name="T221" style:family="text"> + <style:style style:name="T219" style:family="text"> <style:text-properties officeooo:rsid="0053695f"/> </style:style> - <style:style style:name="T222" style:family="text"> + <style:style style:name="T220" style:family="text"> <style:text-properties officeooo:rsid="0056317a"/> </style:style> - <style:style style:name="T223" style:family="text"> + <style:style style:name="T221" style:family="text"> <style:text-properties officeooo:rsid="005a017d"/> </style:style> - <style:style style:name="T224" style:family="text"> + <style:style style:name="T222" style:family="text"> <style:text-properties officeooo:rsid="005a5c62"/> </style:style> - <style:style style:name="T225" style:family="text"> + <style:style style:name="T223" style:family="text"> <style:text-properties officeooo:rsid="005ac4c7"/> </style:style> - <style:style style:name="T226" style:family="text"> + <style:style style:name="T224" style:family="text"> <style:text-properties style:font-name="Liberation Mono" style:font-name-asian="Droid Sans Fallback1" style:font-name-complex="Liberation Mono"/> </style:style> - <style:style style:name="T227" style:family="text"> + <style:style style:name="T225" style:family="text"> <style:text-properties style:font-name="Liberation Mono" officeooo:rsid="005ac4c7" style:font-name-asian="Droid Sans Fallback1" style:font-name-complex="Liberation Mono"/> </style:style> - <style:style style:name="T228" style:family="text"> + <style:style style:name="T226" style:family="text"> <style:text-properties style:font-name="Liberation Mono" fo:font-style="normal" style:text-underline-style="none" officeooo:rsid="00657146" style:font-name-asian="Droid Sans Fallback1" style:font-style-asian="normal" style:font-name-complex="Liberation Mono" style:font-style-complex="normal"/> </style:style> - <style:style style:name="T229" style:family="text"> + <style:style style:name="T227" style:family="text"> <style:text-properties style:font-name="Liberation Mono" fo:font-size="10pt" fo:font-weight="normal" officeooo:rsid="012d37cc" style:font-name-asian="Droid Sans Fallback1" style:font-size-asian="10pt" style:font-name-complex="Liberation Mono" style:font-size-complex="10pt"/> </style:style> - <style:style style:name="T230" style:family="text"> + <style:style style:name="T228" style:family="text"> <style:text-properties style:font-name="Liberation Mono" fo:font-size="10pt" fo:font-weight="normal" officeooo:rsid="012dcfed" style:font-name-asian="Droid Sans Fallback1" style:font-size-asian="10pt" style:font-name-complex="Liberation Mono" style:font-size-complex="10pt"/> </style:style> - <style:style style:name="T231" style:family="text"> + <style:style style:name="T229" style:family="text"> <style:text-properties style:font-name="Liberation Mono" fo:font-size="10pt" fo:font-weight="normal" style:font-name-asian="Droid Sans Fallback1" style:font-size-asian="10pt" style:font-weight-asian="normal" style:font-name-complex="Liberation Mono" style:font-size-complex="10pt" style:font-weight-complex="normal"/> </style:style> - <style:style style:name="T232" style:family="text"> + <style:style style:name="T230" style:family="text"> <style:text-properties style:font-name="Liberation Mono" fo:font-size="10pt" fo:font-weight="normal" officeooo:rsid="01311b9e" style:font-name-asian="Droid Sans Fallback1" style:font-size-asian="10pt" style:font-weight-asian="normal" style:font-name-complex="Liberation Mono" style:font-size-complex="10pt" style:font-weight-complex="normal"/> </style:style> - <style:style style:name="T233" style:family="text"> + <style:style style:name="T231" style:family="text"> <style:text-properties style:font-name="Liberation Mono" fo:font-size="10pt" fo:font-weight="normal" officeooo:rsid="00d08d3b" style:font-name-asian="Droid Sans Fallback1" style:font-size-asian="10pt" style:font-weight-asian="normal" style:font-name-complex="Liberation Mono" style:font-size-complex="10pt" style:font-weight-complex="normal"/> </style:style> - <style:style style:name="T234" style:family="text"> + <style:style style:name="T232" style:family="text"> <style:text-properties style:font-name="Liberation Mono" fo:font-size="10pt" fo:font-weight="normal" officeooo:rsid="01329ffa" style:font-name-asian="Droid Sans Fallback1" style:font-size-asian="10pt" style:font-weight-asian="normal" style:font-name-complex="Liberation Mono" style:font-size-complex="10pt" style:font-weight-complex="normal"/> </style:style> - <style:style style:name="T235" style:family="text"> + <style:style style:name="T233" style:family="text"> <style:text-properties style:font-name="Liberation Mono" fo:font-size="10pt" fo:font-weight="bold" style:font-name-asian="Droid Sans Fallback1" style:font-size-asian="10pt" style:font-weight-asian="bold" style:font-name-complex="Liberation Mono" style:font-size-complex="10pt" style:font-weight-complex="bold"/> </style:style> - <style:style style:name="T236" style:family="text"> + <style:style style:name="T234" style:family="text"> <style:text-properties style:font-name="Liberation Mono" fo:font-size="10pt" fo:font-weight="bold" officeooo:rsid="01311b9e" style:font-name-asian="Droid Sans Fallback1" style:font-size-asian="10pt" style:font-weight-asian="bold" style:font-name-complex="Liberation Mono" style:font-size-complex="10pt" style:font-weight-complex="bold"/> </style:style> - <style:style style:name="T237" style:family="text"> + <style:style style:name="T235" style:family="text"> <style:text-properties officeooo:rsid="005b6c85"/> </style:style> - <style:style style:name="T238" style:family="text"> + <style:style style:name="T236" style:family="text"> <style:text-properties officeooo:rsid="005ca831"/> </style:style> - <style:style style:name="T239" style:family="text"> + <style:style style:name="T237" style:family="text"> <style:text-properties officeooo:rsid="005fe3dc"/> </style:style> - <style:style style:name="T240" style:family="text"> + <style:style style:name="T238" style:family="text"> <style:text-properties officeooo:rsid="0063d022"/> </style:style> - <style:style style:name="T241" style:family="text"> + <style:style style:name="T239" style:family="text"> <style:text-properties officeooo:rsid="00657146"/> </style:style> - <style:style style:name="T242" style:family="text"> + <style:style style:name="T240" style:family="text"> <style:text-properties officeooo:rsid="006727cc"/> </style:style> - <style:style style:name="T243" style:family="text"> + <style:style style:name="T241" style:family="text"> <style:text-properties officeooo:rsid="00674a3d"/> </style:style> - <style:style style:name="T244" style:family="text"> + <style:style style:name="T242" style:family="text"> <style:text-properties officeooo:rsid="006c5326"/> </style:style> - <style:style style:name="T245" style:family="text"> + <style:style style:name="T243" style:family="text"> <style:text-properties officeooo:rsid="0074d148"/> </style:style> - <style:style style:name="T246" style:family="text"> + <style:style style:name="T244" style:family="text"> <style:text-properties officeooo:rsid="00750ebf"/> </style:style> - <style:style style:name="T247" style:family="text"> + <style:style style:name="T245" style:family="text"> <style:text-properties officeooo:rsid="0076c7e1"/> </style:style> - <style:style style:name="T248" style:family="text"> + <style:style style:name="T246" style:family="text"> <style:text-properties officeooo:rsid="00779a5b"/> </style:style> - <style:style style:name="T249" style:family="text"> + <style:style style:name="T247" style:family="text"> <style:text-properties officeooo:rsid="00784d65"/> </style:style> - <style:style style:name="T250" style:family="text"> + <style:style style:name="T248" style:family="text"> <style:text-properties officeooo:rsid="007a1e4b"/> </style:style> - <style:style style:name="T251" style:family="text"> + <style:style style:name="T249" style:family="text"> <style:text-properties officeooo:rsid="007bf983"/> </style:style> - <style:style style:name="T252" style:family="text"> + <style:style style:name="T250" style:family="text"> <style:text-properties officeooo:rsid="007cef11"/> </style:style> - <style:style style:name="T253" style:family="text"> + <style:style style:name="T251" style:family="text"> <style:text-properties officeooo:rsid="007d8dea"/> </style:style> - <style:style style:name="T254" style:family="text"> + <style:style style:name="T252" style:family="text"> <style:text-properties officeooo:rsid="0081d76e"/> </style:style> - <style:style style:name="T255" style:family="text"> + <style:style style:name="T253" style:family="text"> <style:text-properties officeooo:rsid="00840f80"/> </style:style> - <style:style style:name="T256" style:family="text"> + <style:style style:name="T254" style:family="text"> <style:text-properties officeooo:rsid="00881a06"/> </style:style> - <style:style style:name="T257" style:family="text"> + <style:style style:name="T255" style:family="text"> <style:text-properties officeooo:rsid="00895410"/> </style:style> - <style:style style:name="T258" style:family="text"> + <style:style style:name="T256" style:family="text"> <style:text-properties officeooo:rsid="0089d9b6"/> </style:style> - <style:style style:name="T259" style:family="text"> + <style:style style:name="T257" style:family="text"> <style:text-properties officeooo:rsid="008a0101"/> </style:style> - <style:style style:name="T260" style:family="text"> + <style:style style:name="T258" style:family="text"> <style:text-properties officeooo:rsid="008b134d"/> </style:style> - <style:style style:name="T261" style:family="text"> + <style:style style:name="T259" style:family="text"> <style:text-properties officeooo:rsid="008c2cba"/> </style:style> - <style:style style:name="T262" style:family="text"> + <style:style style:name="T260" style:family="text"> <style:text-properties officeooo:rsid="008e53fe"/> </style:style> - <style:style style:name="T263" style:family="text"> + <style:style style:name="T261" style:family="text"> <style:text-properties officeooo:rsid="00925c69"/> </style:style> - <style:style style:name="T264" style:family="text"> + <style:style style:name="T262" style:family="text"> <style:text-properties officeooo:rsid="00931d47"/> </style:style> - <style:style style:name="T265" style:family="text"> + <style:style style:name="T263" style:family="text"> <style:text-properties officeooo:rsid="009eea28"/> </style:style> - <style:style style:name="T266" style:family="text"> + <style:style style:name="T264" style:family="text"> <style:text-properties officeooo:rsid="00a5071e"/> </style:style> - <style:style style:name="T267" style:family="text"> + <style:style style:name="T265" style:family="text"> <style:text-properties officeooo:rsid="00a52bc9"/> </style:style> - <style:style style:name="T268" style:family="text"> + <style:style style:name="T266" style:family="text"> <style:text-properties officeooo:rsid="00a5c0e1"/> </style:style> - <style:style style:name="T269" style:family="text"> + <style:style style:name="T267" style:family="text"> <style:text-properties officeooo:rsid="00a76dd9"/> </style:style> - <style:style style:name="T270" style:family="text"> + <style:style style:name="T268" style:family="text"> <style:text-properties officeooo:rsid="00ac280f"/> </style:style> - <style:style style:name="T271" style:family="text"> + <style:style style:name="T269" style:family="text"> <style:text-properties officeooo:rsid="00adbd1f"/> </style:style> - <style:style style:name="T272" style:family="text"> + <style:style style:name="T270" style:family="text"> <style:text-properties officeooo:rsid="00af8ed3"/> </style:style> - <style:style style:name="T273" style:family="text"> + <style:style style:name="T271" style:family="text"> <style:text-properties officeooo:rsid="00b09ff8"/> </style:style> - <style:style style:name="T274" style:family="text"> + <style:style style:name="T272" style:family="text"> <style:text-properties officeooo:rsid="00b59632"/> </style:style> - <style:style style:name="T275" style:family="text"> + <style:style style:name="T273" style:family="text"> <style:text-properties officeooo:rsid="00b9be3b"/> </style:style> - <style:style style:name="T276" style:family="text"> + <style:style style:name="T274" style:family="text"> <style:text-properties officeooo:rsid="00bb4800"/> </style:style> - <style:style style:name="T277" style:family="text"> + <style:style style:name="T275" style:family="text"> <style:text-properties officeooo:rsid="00beeeb9"/> </style:style> - <style:style style:name="T278" style:family="text"> + <style:style style:name="T276" style:family="text"> <style:text-properties officeooo:rsid="00c2926f"/> </style:style> - <style:style style:name="T279" style:family="text"> + <style:style style:name="T277" style:family="text"> <style:text-properties officeooo:rsid="00c2ee8b"/> </style:style> - <style:style style:name="T280" style:family="text"> + <style:style style:name="T278" style:family="text"> <style:text-properties officeooo:rsid="00c6886f"/> </style:style> - <style:style style:name="T281" style:family="text"> + <style:style style:name="T279" style:family="text"> <style:text-properties officeooo:rsid="00c870a0"/> </style:style> - <style:style style:name="T282" style:family="text"> + <style:style style:name="T280" style:family="text"> <style:text-properties officeooo:rsid="00c9174a"/> </style:style> - <style:style style:name="T283" style:family="text"> + <style:style style:name="T281" style:family="text"> <style:text-properties officeooo:rsid="00ca2923"/> </style:style> - <style:style style:name="T284" style:family="text"> + <style:style style:name="T282" style:family="text"> <style:text-properties officeooo:rsid="00cba5e3"/> </style:style> - <style:style style:name="T285" style:family="text"> + <style:style style:name="T283" style:family="text"> <style:text-properties officeooo:rsid="00ccb67c"/> </style:style> - <style:style style:name="T286" style:family="text"> + <style:style style:name="T284" style:family="text"> <style:text-properties officeooo:rsid="00cef9a3"/> </style:style> - <style:style style:name="T287" style:family="text"> + <style:style style:name="T285" style:family="text"> <style:text-properties officeooo:rsid="00cfb468"/> </style:style> - <style:style style:name="T288" style:family="text"> + <style:style style:name="T286" style:family="text"> <style:text-properties officeooo:rsid="00d08d3b"/> </style:style> - <style:style style:name="T289" style:family="text"> + <style:style style:name="T287" style:family="text"> <style:text-properties officeooo:rsid="00d15d24"/> </style:style> - <style:style style:name="T290" style:family="text"> + <style:style style:name="T288" style:family="text"> <style:text-properties officeooo:rsid="00d707a3"/> </style:style> - <style:style style:name="T291" style:family="text"> + <style:style style:name="T289" style:family="text"> <style:text-properties officeooo:rsid="00d7adce"/> </style:style> - <style:style style:name="T292" style:family="text"> + <style:style style:name="T290" style:family="text"> <style:text-properties officeooo:rsid="00d7bd9c"/> </style:style> - <style:style style:name="T293" style:family="text"> + <style:style style:name="T291" style:family="text"> <style:text-properties officeooo:rsid="00d97987"/> </style:style> - <style:style style:name="T294" style:family="text"> + <style:style style:name="T292" style:family="text"> <style:text-properties officeooo:rsid="00daef7b"/> </style:style> - <style:style style:name="T295" style:family="text"> + <style:style style:name="T293" style:family="text"> <style:text-properties officeooo:rsid="00dbc83d"/> </style:style> - <style:style style:name="T296" style:family="text"> + <style:style style:name="T294" style:family="text"> <style:text-properties officeooo:rsid="00dd5dd8"/> </style:style> - <style:style style:name="T297" style:family="text"> + <style:style style:name="T295" style:family="text"> <style:text-properties officeooo:rsid="00ded07e"/> </style:style> - <style:style style:name="T298" style:family="text"> + <style:style style:name="T296" style:family="text"> <style:text-properties officeooo:rsid="00dfbcac"/> </style:style> - <style:style style:name="T299" style:family="text"> + <style:style style:name="T297" style:family="text"> <style:text-properties officeooo:rsid="00e102d3"/> </style:style> - <style:style style:name="T300" style:family="text"> + <style:style style:name="T298" style:family="text"> <style:text-properties officeooo:rsid="00e3b718"/> </style:style> - <style:style style:name="T301" style:family="text"> + <style:style style:name="T299" style:family="text"> <style:text-properties officeooo:rsid="00e49249"/> </style:style> - <style:style style:name="T302" style:family="text"> + <style:style style:name="T300" style:family="text"> <style:text-properties officeooo:rsid="00e7f1bf"/> </style:style> - <style:style style:name="T303" style:family="text"> + <style:style style:name="T301" style:family="text"> <style:text-properties officeooo:rsid="00ebdf2a"/> </style:style> - <style:style style:name="T304" style:family="text"> + <style:style style:name="T302" style:family="text"> <style:text-properties officeooo:rsid="00ed0f9b"/> </style:style> - <style:style style:name="T305" style:family="text"> + <style:style style:name="T303" style:family="text"> <style:text-properties officeooo:rsid="00eede4b"/> </style:style> - <style:style style:name="T306" style:family="text"> + <style:style style:name="T304" style:family="text"> <style:text-properties officeooo:rsid="00f02006"/> </style:style> - <style:style style:name="T307" style:family="text"> + <style:style style:name="T305" style:family="text"> <style:text-properties officeooo:rsid="00f2c440"/> </style:style> - <style:style style:name="T308" style:family="text"> + <style:style style:name="T306" style:family="text"> <style:text-properties officeooo:rsid="00f63532"/> </style:style> - <style:style style:name="T309" style:family="text"> + <style:style style:name="T307" style:family="text"> <style:text-properties officeooo:rsid="00f8503d"/> </style:style> - <style:style style:name="T310" style:family="text"> + <style:style style:name="T308" style:family="text"> <style:text-properties officeooo:rsid="00f87427"/> </style:style> - <style:style style:name="T311" style:family="text"> + <style:style style:name="T309" style:family="text"> <style:text-properties officeooo:rsid="00fabb97"/> </style:style> - <style:style style:name="T312" style:family="text"> + <style:style style:name="T310" style:family="text"> <style:text-properties officeooo:rsid="00fd556a"/> </style:style> - <style:style style:name="T313" style:family="text"> + <style:style style:name="T311" style:family="text"> <style:text-properties officeooo:rsid="00fdd0cb"/> </style:style> - <style:style style:name="T314" style:family="text"> + <style:style style:name="T312" style:family="text"> <style:text-properties officeooo:rsid="00fe6ad2"/> </style:style> - <style:style style:name="T315" style:family="text"> + <style:style style:name="T313" style:family="text"> <style:text-properties officeooo:rsid="00fff904"/> </style:style> - <style:style style:name="T316" style:family="text"> + <style:style style:name="T314" style:family="text"> <style:text-properties officeooo:rsid="0101c864"/> </style:style> - <style:style style:name="T317" style:family="text"> + <style:style style:name="T315" style:family="text"> <style:text-properties officeooo:rsid="01037e2c"/> </style:style> - <style:style style:name="T318" style:family="text"> + <style:style style:name="T316" style:family="text"> <style:text-properties officeooo:rsid="010590cb"/> </style:style> - <style:style style:name="T319" style:family="text"> + <style:style style:name="T317" style:family="text"> <style:text-properties officeooo:rsid="010837cd"/> </style:style> - <style:style style:name="T320" style:family="text"> + <style:style style:name="T318" style:family="text"> <style:text-properties officeooo:rsid="010b31a7"/> </style:style> - <style:style style:name="T321" style:family="text"> + <style:style style:name="T319" style:family="text"> <style:text-properties officeooo:rsid="010e4fd1"/> </style:style> - <style:style style:name="T322" style:family="text"> + <style:style style:name="T320" style:family="text"> <style:text-properties officeooo:rsid="01114cfa"/> </style:style> - <style:style style:name="T323" style:family="text"> + <style:style style:name="T321" style:family="text"> <style:text-properties officeooo:rsid="0112f1e6"/> </style:style> - <style:style style:name="T324" style:family="text"> + <style:style style:name="T322" style:family="text"> <style:text-properties officeooo:rsid="01161488"/> </style:style> - <style:style style:name="T325" style:family="text"> + <style:style style:name="T323" style:family="text"> <style:text-properties officeooo:rsid="011615a9"/> </style:style> - <style:style style:name="T326" style:family="text"> + <style:style style:name="T324" style:family="text"> <style:text-properties officeooo:rsid="0116f209"/> </style:style> - <style:style style:name="T327" style:family="text"> + <style:style style:name="T325" style:family="text"> <style:text-properties officeooo:rsid="011cd815"/> </style:style> - <style:style style:name="T328" style:family="text"> + <style:style style:name="T326" style:family="text"> <style:text-properties officeooo:rsid="011cd839"/> </style:style> - <style:style style:name="T329" style:family="text"> + <style:style style:name="T327" style:family="text"> <style:text-properties officeooo:rsid="011e9cc8"/> </style:style> - <style:style style:name="T330" style:family="text"> + <style:style style:name="T328" style:family="text"> <style:text-properties officeooo:rsid="011f7d97"/> </style:style> - <style:style style:name="T331" style:family="text"> + <style:style style:name="T329" style:family="text"> <style:text-properties officeooo:rsid="0120f340"/> </style:style> - <style:style style:name="T332" style:family="text"> + <style:style style:name="T330" style:family="text"> <style:text-properties officeooo:rsid="012104d2"/> </style:style> - <style:style style:name="T333" style:family="text"> + <style:style style:name="T331" style:family="text"> <style:text-properties officeooo:rsid="0124993a"/> </style:style> - <style:style style:name="T334" style:family="text"> + <style:style style:name="T332" style:family="text"> <style:text-properties officeooo:rsid="012827a3"/> </style:style> - <style:style style:name="T335" style:family="text"> + <style:style style:name="T333" style:family="text"> <style:text-properties officeooo:rsid="0129d03d"/> </style:style> - <style:style style:name="T336" style:family="text"> + <style:style style:name="T334" style:family="text"> <style:text-properties style:font-name="Century Schoolbook L" fo:font-style="normal" fo:font-weight="normal" officeooo:rsid="012b9712" style:font-size-asian="10.5pt" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="T337" style:family="text"> + <style:style style:name="T335" style:family="text"> <style:text-properties style:font-name="Century Schoolbook L" fo:font-style="normal" fo:font-weight="normal" officeooo:rsid="012bb748" style:font-size-asian="10.5pt" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="T338" style:family="text"> + <style:style style:name="T336" style:family="text"> <style:text-properties style:font-name="Century Schoolbook L" fo:font-style="normal" fo:font-weight="normal" officeooo:rsid="0112f1e6" style:font-size-asian="10.5pt" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="T339" style:family="text"> + <style:style style:name="T337" style:family="text"> <style:text-properties style:font-name="Century Schoolbook L" fo:font-style="normal" fo:font-weight="normal" officeooo:rsid="012d37cc" style:font-size-asian="10.5pt" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="T340" style:family="text"> + <style:style style:name="T338" style:family="text"> <style:text-properties style:font-name="Century Schoolbook L" fo:font-style="normal" fo:font-weight="normal" officeooo:rsid="01329ffa" style:font-size-asian="10.5pt" style:font-style-asian="normal" style:font-style-complex="normal"/> </style:style> - <style:style style:name="T341" style:family="text"> + <style:style style:name="T339" style:family="text"> <style:text-properties style:font-name="Century Schoolbook L" fo:font-style="normal" fo:font-weight="normal" officeooo:rsid="01311b9e" style:font-size-asian="10.5pt" style:font-style-asian="normal" style:font-weight-asian="normal" style:font-style-complex="normal" style:font-weight-complex="normal"/> </style:style> - <style:style style:name="T342" style:family="text"> + <style:style style:name="T340" style:family="text"> <style:text-properties style:font-name="Century Schoolbook L" fo:font-style="normal" fo:font-weight="normal" officeooo:rsid="0133eb9d" style:font-size-asian="10.5pt" style:font-style-asian="normal" style:font-weight-asian="normal" style:font-style-complex="normal" style:font-weight-complex="normal"/> </style:style> - <style:style style:name="T343" style:family="text"> - <style:text-properties style:font-name="Century Schoolbook L" fo:font-style="normal" style:text-underline-style="none" fo:font-weight="normal" officeooo:rsid="013943dd" style:font-size-asian="10.5pt" style:font-style-asian="normal" style:font-style-complex="normal"/> - </style:style> - <style:style style:name="T344" style:family="text"> - <style:text-properties style:font-name="Century Schoolbook L" fo:font-style="normal" style:text-underline-style="none" fo:font-weight="normal" officeooo:rsid="0139581c" style:font-size-asian="10.5pt" style:font-style-asian="normal" style:font-style-complex="normal"/> - </style:style> - <style:style style:name="T345" style:family="text"> + <style:style style:name="T341" style:family="text"> <style:text-properties style:font-name="Century Schoolbook L" fo:font-weight="normal" officeooo:rsid="012dcfed" style:font-size-asian="10.5pt"/> </style:style> - <style:style style:name="T346" style:family="text"> + <style:style style:name="T342" style:family="text"> <style:text-properties style:font-name="Century Schoolbook L" fo:font-weight="normal" officeooo:rsid="012f2935" style:font-size-asian="10.5pt"/> </style:style> - <style:style style:name="T347" style:family="text"> + <style:style style:name="T343" style:family="text"> <style:text-properties style:font-name="Century Schoolbook L" fo:font-weight="normal" officeooo:rsid="01311b9e" style:font-size-asian="10.5pt"/> </style:style> - <style:style style:name="T348" style:family="text"> + <style:style style:name="T344" style:family="text"> <style:text-properties style:font-name="Century Schoolbook L" fo:font-style="italic" fo:font-weight="normal" officeooo:rsid="01311b9e" style:font-size-asian="10.5pt" style:font-style-asian="italic" style:font-weight-asian="normal" style:font-style-complex="italic" style:font-weight-complex="normal"/> </style:style> - <style:style style:name="T349" style:family="text"> + <style:style style:name="T345" style:family="text"> <style:text-properties style:font-name="Century Schoolbook L" fo:font-style="italic" fo:font-weight="normal" officeooo:rsid="0133eb9d" style:font-size-asian="10.5pt" style:font-style-asian="italic" style:font-weight-asian="normal" style:font-style-complex="italic" style:font-weight-complex="normal"/> </style:style> - <style:style style:name="T350" style:family="text"> + <style:style style:name="T346" style:family="text"> <style:text-properties officeooo:rsid="012bb748"/> </style:style> - <style:style style:name="T351" style:family="text"> + <style:style style:name="T347" style:family="text"> <style:text-properties officeooo:rsid="01230203"/> </style:style> - <style:style style:name="T352" style:family="text"> + <style:style style:name="T348" style:family="text"> <style:text-properties officeooo:rsid="012d37cc"/> </style:style> - <style:style style:name="T353" style:family="text"> + <style:style style:name="T349" style:family="text"> <style:text-properties officeooo:rsid="012dcfed"/> </style:style> - <style:style style:name="T354" style:family="text"> + <style:style style:name="T350" style:family="text"> <style:text-properties officeooo:rsid="01268a0d"/> </style:style> - <style:style style:name="T355" style:family="text"> + <style:style style:name="T351" style:family="text"> <style:text-properties officeooo:rsid="012f2935"/> </style:style> - <style:style style:name="T356" style:family="text"> + <style:style style:name="T352" style:family="text"> <style:text-properties officeooo:rsid="01311b9e"/> </style:style> - <style:style style:name="T357" style:family="text"> + <style:style style:name="T353" style:family="text"> <style:text-properties officeooo:rsid="01329ffa"/> </style:style> - <style:style style:name="T358" style:family="text"> + <style:style style:name="T354" style:family="text"> <style:text-properties officeooo:rsid="0133eb9d"/> </style:style> - <style:style style:name="T359" style:family="text"> + <style:style style:name="T355" style:family="text"> <style:text-properties officeooo:rsid="0135f237"/> </style:style> - <style:style style:name="T360" style:family="text"> + <style:style style:name="T356" style:family="text"> <style:text-properties officeooo:rsid="0136a7ba"/> </style:style> - <style:style style:name="T361" style:family="text"> + <style:style style:name="T357" style:family="text"> <style:text-properties fo:color="#e6e6ff"/> </style:style> - <style:style style:name="T362" style:family="text"> + <style:style style:name="T358" style:family="text"> <style:text-properties fo:color="#b3b3b3"/> </style:style> - <style:style style:name="T363" style:family="text"> + <style:style style:name="T359" style:family="text"> <style:text-properties fo:color="#c0c0c0"/> </style:style> - <style:style style:name="T364" style:family="text"> + <style:style style:name="T360" style:family="text"> <style:text-properties fo:color="#c0c0c0" fo:font-weight="normal" style:font-weight-asian="normal" style:font-weight-complex="normal"/> </style:style> - <style:style style:name="T365" style:family="text"> + <style:style style:name="T361" style:family="text"> <style:text-properties fo:color="#c0c0c0" fo:font-weight="normal" officeooo:rsid="00cfb468" style:font-weight-asian="normal" style:font-weight-complex="normal"/> </style:style> - <style:style style:name="T366" style:family="text"> + <style:style style:name="T362" style:family="text"> <style:text-properties fo:color="#c0c0c0" fo:font-weight="normal" officeooo:rsid="0136a7ba" style:font-weight-asian="normal" style:font-weight-complex="normal"/> </style:style> - <style:style style:name="T367" style:family="text"> + <style:style style:name="T363" style:family="text"> <style:text-properties fo:color="#c0c0c0" fo:font-weight="bold" officeooo:rsid="00cfb468" style:font-weight-asian="bold" style:font-weight-complex="bold"/> </style:style> - <style:style style:name="T368" style:family="text"> - <style:text-properties officeooo:rsid="013943dd"/> - </style:style> - <style:style style:name="T369" style:family="text"> - <style:text-properties style:use-window-font-color="true" style:font-name="Century Schoolbook L" fo:font-size="14pt" fo:font-style="normal" style:text-underline-style="none" fo:font-weight="bold" officeooo:rsid="013943dd" style:font-name-asian="Droid Sans Fallback" style:font-size-asian="14pt" style:font-style-asian="normal" style:font-weight-asian="bold" style:font-name-complex="FreeSans" style:font-size-complex="14pt" style:font-style-complex="normal" style:font-weight-complex="600"/> - </style:style> - <style:style style:name="T370" style:family="text"> - <style:text-properties style:use-window-font-color="true" style:font-name="Century Schoolbook L" fo:font-size="14pt" fo:font-style="normal" style:text-underline-style="none" fo:font-weight="bold" officeooo:rsid="0139581c" style:font-name-asian="Droid Sans Fallback" style:font-size-asian="14pt" style:font-style-asian="normal" style:font-weight-asian="bold" style:font-name-complex="FreeSans" style:font-size-complex="14pt" style:font-style-complex="normal" style:font-weight-complex="600"/> - </style:style> - <style:style style:name="T371" style:family="text"> - <style:text-properties officeooo:rsid="0139581c"/> - </style:style> - <style:style style:name="T372" style:family="text"> - <style:text-properties officeooo:rsid="013b4687"/> - </style:style> <style:style style:name="Sect1" style:family="section"> <style:section-properties style:editable="false"> <style:columns fo:column-count="1" fo:column-gap="0cm"/> @@ -2750,7 +2690,7 @@ <office:master-styles> <style:master-page style:name="Standard" style:page-layout-name="pm1"> <style:footer> - <text:p text:style-name="Footer"><text:page-number text:select-page="current">29</text:page-number><text:tab/><text:tab/><text:modification-date style:data-style-name="N84">2021-12-23</text:modification-date>, <text:modification-time style:data-style-name="N41">10:36:26</text:modification-time></text:p> + <text:p text:style-name="Footer"><text:page-number text:select-page="current">16</text:page-number><text:tab/><text:tab/><text:modification-date style:data-style-name="N84">2021-11-01</text:modification-date>, <text:modification-time style:data-style-name="N41">15:29:03</text:modification-time></text:p> </style:footer> </style:master-page> <style:master-page style:name="First_20_Page" style:display-name="First Page" style:page-layout-name="pm2" style:next-style-name="Standard"/> @@ -2768,8 +2708,8 @@ </text:sequence-decls> <text:p text:style-name="P349">Make Experiments!</text:p> <text:p text:style-name="P338">Run-script generation for earth system models</text:p> - <text:p text:style-name="P339">Release 1.2.0dev</text:p> - <text:p text:style-name="P312">Karl-Hermann Wieners<text:line-break/><text:span text:style-name="T276">Max-Planck-Institut für Meteorologie<text:line-break/>Hamburg</text:span></text:p> + <text:p text:style-name="P339">Release 1.1.2</text:p> + <text:p text:style-name="P312">Karl-Hermann Wieners<text:line-break/><text:span text:style-name="T274">Max-Planck-Institut für Meteorologie<text:line-break/>Hamburg</text:span></text:p> <text:table-of-content text:style-name="Sect1" text:protected="true" text:name="Table of Contents1"> <text:table-of-content-source text:outline-level="10"> <text:index-title-template text:style-name="Contents_20_Heading">Table of Contents</text:index-title-template> @@ -2858,66 +2798,65 @@ <text:index-title text:style-name="Sect1" text:name="Table of Contents1_Head"> <text:p text:style-name="P313">Table of Contents</text:p> </text:index-title> - <text:p text:style-name="P350"><text:a xlink:type="simple" xlink:href="#__RefHeading__2518_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">1 <text:s/>Introduction<text:tab/>3</text:a></text:p> - <text:p text:style-name="P351"><text:a xlink:type="simple" xlink:href="#__RefHeading__2520_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">1.1 <text:s/>Example: ECHAM experiment setup<text:tab/>3</text:a></text:p> - <text:p text:style-name="P352"><text:a xlink:type="simple" xlink:href="#__RefHeading__2522_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">1.1.1 <text:s/>Experiments are defined by custom and default settings<text:tab/>3</text:a></text:p> - <text:p text:style-name="P352"><text:a xlink:type="simple" xlink:href="#__RefHeading__2524_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">1.1.2 <text:s/>Job templates are completed by settings to create scripts<text:tab/>4</text:a></text:p> - <text:p text:style-name="P352"><text:a xlink:type="simple" xlink:href="#__RefHeading__2526_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">1.1.3 <text:s/>Generating scripts only refers to the custom settings' file<text:tab/>6</text:a></text:p> - <text:p text:style-name="P350"><text:a xlink:type="simple" xlink:href="#__RefHeading__2528_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2 <text:s/>Details on experiment definition<text:tab/>6</text:a></text:p> - <text:p text:style-name="P351"><text:a xlink:type="simple" xlink:href="#__RefHeading__2530_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.1 <text:s/>Design<text:tab/>6</text:a></text:p> - <text:p text:style-name="P351"><text:a xlink:type="simple" xlink:href="#__RefHeading__2532_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.2 <text:s/>Tools<text:tab/>7</text:a></text:p> - <text:p text:style-name="P351"><text:a xlink:type="simple" xlink:href="#__RefHeading__2534_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.3 <text:s/>Format of .config files<text:tab/>9</text:a></text:p> - <text:p text:style-name="P352"><text:a xlink:type="simple" xlink:href="#__RefHeading__1669_1438093122" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.3.1 <text:s/>Variables<text:tab/>9</text:a></text:p> - <text:p text:style-name="P352"><text:a xlink:type="simple" xlink:href="#__RefHeading__2536_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.3.2 <text:s/>Sections<text:tab/>9</text:a></text:p> - <text:p text:style-name="P352"><text:a xlink:type="simple" xlink:href="#__RefHeading__2538_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.3.3 <text:s/>Special variables and sections<text:tab/>10</text:a></text:p> - <text:p text:style-name="P352"><text:a xlink:type="simple" xlink:href="#__RefHeading__2540_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.3.4 <text:s/>Variable interpolation<text:tab/>12</text:a></text:p> - <text:p text:style-name="P352"><text:a xlink:type="simple" xlink:href="#__RefHeading__2542_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.3.5 <text:s/>Evaluation of interpolation<text:tab/>12</text:a></text:p> - <text:p text:style-name="P352"><text:a xlink:type="simple" xlink:href="#__RefHeading__2544_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.3.6 <text:s/>Special expressions<text:tab/>13</text:a></text:p> - <text:p text:style-name="P351"><text:a xlink:type="simple" xlink:href="#__RefHeading__2546_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.4 <text:s/>Format of .tmpl files<text:tab/>14</text:a></text:p> - <text:p text:style-name="P352"><text:a xlink:type="simple" xlink:href="#__RefHeading__2548_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.4.1 <text:s/>Placeholders<text:tab/>14</text:a></text:p> - <text:p text:style-name="P352"><text:a xlink:type="simple" xlink:href="#__RefHeading__2550_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.4.2 <text:s/>Variables in sections<text:tab/>15</text:a></text:p> - <text:p text:style-name="P352"><text:a xlink:type="simple" xlink:href="#__RefHeading__2552_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.4.3 <text:s/>Expressions<text:tab/>15</text:a></text:p> - <text:p text:style-name="P352"><text:a xlink:type="simple" xlink:href="#__RefHeading__2554_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.4.4 <text:s/>Loops<text:tab/>16</text:a></text:p> - <text:p text:style-name="P352"><text:a xlink:type="simple" xlink:href="#__RefHeading__2556_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.4.5 <text:s/>Conditions<text:tab/>17</text:a></text:p> - <text:p text:style-name="P352"><text:a xlink:type="simple" xlink:href="#__RefHeading__2558_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.4.6 <text:s/>Comments<text:tab/>17</text:a></text:p> - <text:p text:style-name="P352"><text:a xlink:type="simple" xlink:href="#__RefHeading___Toc3658_1790556471" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.4.7 <text:s/>Block statements and block comments<text:tab/>17</text:a></text:p> - <text:p text:style-name="P351"><text:a xlink:type="simple" xlink:href="#__RefHeading__2560_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.5 <text:s/>Standard experiments<text:tab/>18</text:a></text:p> - <text:p text:style-name="P351"><text:a xlink:type="simple" xlink:href="#__RefHeading__2562_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.6 <text:s/>Standard options<text:tab/>18</text:a></text:p> - <text:p text:style-name="P352"><text:a xlink:type="simple" xlink:href="#__RefHeading___Toc3660_1790556471" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.6.1 <text:s/>Options set due to model configuration<text:tab/>19</text:a></text:p> - <text:p text:style-name="P351"><text:a xlink:type="simple" xlink:href="#__RefHeading__1508_1711940803" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.7 <text:s/>Generating jobs<text:tab/>19</text:a></text:p> - <text:p text:style-name="P352"><text:a xlink:type="simple" xlink:href="#__RefHeading__2566_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.7.1 <text:s/></text:a><text:a xlink:type="simple" xlink:href="#__RefHeading__2566_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link"><text:span text:style-name="T56">C</text:span></text:a><text:a xlink:type="simple" xlink:href="#__RefHeading__2566_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link"><text:span text:style-name="T56">hanging the model job list</text:span></text:a><text:a xlink:type="simple" xlink:href="#__RefHeading__2566_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link"><text:tab/>19</text:a></text:p> - <text:p text:style-name="P352"><text:a xlink:type="simple" xlink:href="#__RefHeading___Toc4462_1592844343" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.7.2 <text:s/>Creating derived jobs<text:tab/>20</text:a></text:p> - <text:p text:style-name="P352"><text:a xlink:type="simple" xlink:href="#__RefHeading__2568_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.7.3 <text:s/>Pre-defined job variables<text:tab/>20</text:a></text:p> - <text:p text:style-name="P352"><text:a xlink:type="simple" xlink:href="#__RefHeading__2570_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.7.4 <text:s/></text:a><text:a xlink:type="simple" xlink:href="#__RefHeading__2570_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link"><text:span text:style-name="T56">Overriding </text:span></text:a><text:a xlink:type="simple" xlink:href="#__RefHeading__2570_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link"><text:span text:style-name="T56">global</text:span></text:a><text:a xlink:type="simple" xlink:href="#__RefHeading__2570_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link"><text:span text:style-name="T56"> </text:span></text:a><text:a xlink:type="simple" xlink:href="#__RefHeading__2570_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link"><text:span text:style-name="T56">or </text:span></text:a><text:a xlink:type="simple" xlink:href="#__RefHeading__2570_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link"><text:span text:style-name="T56">derived</text:span></text:a><text:a xlink:type="simple" xlink:href="#__RefHeading__2570_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link"><text:span text:style-name="T56"> </text:span></text:a><text:a xlink:type="simple" xlink:href="#__RefHeading__2570_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link"><text:span text:style-name="T56">settings in jobs</text:span></text:a><text:a xlink:type="simple" xlink:href="#__RefHeading__2570_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link"><text:tab/>20</text:a></text:p> - <text:p text:style-name="P352"><text:a xlink:type="simple" xlink:href="#__RefHeading__2572_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.7.5 <text:s/>Native script variables<text:tab/>21</text:a></text:p> - <text:p text:style-name="P352"><text:a xlink:type="simple" xlink:href="#__RefHeading__2574_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.7.6 <text:s/>Initializing native script variables<text:tab/>22</text:a></text:p> - <text:p text:style-name="P352"><text:a xlink:type="simple" xlink:href="#__RefHeading__2576_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.7.7 <text:s/>Re-generation of scripts and backup<text:tab/>23</text:a></text:p> - <text:p text:style-name="P351"><text:a xlink:type="simple" xlink:href="#__RefHeading__2564_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.8 <text:s/>Standard environments<text:tab/>23</text:a></text:p> - <text:p text:style-name="P351"><text:a xlink:type="simple" xlink:href="#__RefHeading__1883_1672291846" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.9 <text:s/>Defining namelists and other configuration files<text:tab/>24</text:a></text:p> - <text:p text:style-name="P352"><text:a xlink:type="simple" xlink:href="#__RefHeading__2578_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.9.1 <text:s/>Formatting the namelist information<text:tab/>24</text:a></text:p> - <text:p text:style-name="P352"><text:a xlink:type="simple" xlink:href="#__RefHeading__2580_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.9.2 <text:s/></text:a><text:a xlink:type="simple" xlink:href="#__RefHeading__2580_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link"><text:span text:style-name="T56">S</text:span></text:a><text:a xlink:type="simple" xlink:href="#__RefHeading__2580_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link"><text:span text:style-name="T56">uppressing namelist </text:span></text:a><text:a xlink:type="simple" xlink:href="#__RefHeading__2580_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link"><text:span text:style-name="T56">files, </text:span></text:a><text:a xlink:type="simple" xlink:href="#__RefHeading__2580_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link"><text:span text:style-name="T56">groups, or variables</text:span></text:a><text:a xlink:type="simple" xlink:href="#__RefHeading__2580_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link"><text:tab/>25</text:a></text:p> - <text:p text:style-name="P352"><text:a xlink:type="simple" xlink:href="#__RefHeading___Toc4310_4067847427" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.9.3 <text:s/>Comments in namelists<text:tab/>25</text:a></text:p> - <text:p text:style-name="P352"><text:a xlink:type="simple" xlink:href="#__RefHeading__2714_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.9.4 <text:s/>Using the namelist text<text:tab/>26</text:a></text:p> - <text:p text:style-name="P352"><text:a xlink:type="simple" xlink:href="#__RefHeading___Toc3662_1790556471" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.9.5 <text:s/>Using native script variables in namelists<text:tab/>27</text:a></text:p> - <text:p text:style-name="P352"><text:a xlink:type="simple" xlink:href="#__RefHeading__2584_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.9.6 <text:s/>Non-namelist configuration files<text:tab/>28</text:a></text:p> - <text:p text:style-name="P351"><text:a xlink:type="simple" xlink:href="#__RefHeading__2831_1132221942" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.10 <text:s/></text:a><text:a xlink:type="simple" xlink:href="#__RefHeading__2831_1132221942" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link"><text:span text:style-name="T56">D</text:span></text:a><text:a xlink:type="simple" xlink:href="#__RefHeading__2831_1132221942" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link"><text:span text:style-name="T56">efining input files for an experiment</text:span></text:a><text:a xlink:type="simple" xlink:href="#__RefHeading__2831_1132221942" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link"><text:tab/>28</text:a></text:p> - <text:p text:style-name="P352"><text:a xlink:type="simple" xlink:href="#__RefHeading__2833_1132221942" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.10.1 <text:s/>Overriding input files for certain jobs<text:tab/>28</text:a></text:p> + <text:p text:style-name="P315"><text:a xlink:type="simple" xlink:href="#__RefHeading__2518_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">1 <text:s/>Introduction<text:tab/>3</text:a></text:p> + <text:p text:style-name="P316"><text:a xlink:type="simple" xlink:href="#__RefHeading__2520_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">1.1 <text:s/>Example: ECHAM experiment setup<text:tab/>3</text:a></text:p> + <text:p text:style-name="P317"><text:a xlink:type="simple" xlink:href="#__RefHeading__2522_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">1.1.1 <text:s/>Experiments are defined by custom and default settings<text:tab/>3</text:a></text:p> + <text:p text:style-name="P317"><text:a xlink:type="simple" xlink:href="#__RefHeading__2524_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">1.1.2 <text:s/>Job templates are completed by settings to create scripts<text:tab/>4</text:a></text:p> + <text:p text:style-name="P317"><text:a xlink:type="simple" xlink:href="#__RefHeading__2526_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">1.1.3 <text:s/>Generating scripts only refers to the custom settings' file<text:tab/>6</text:a></text:p> + <text:p text:style-name="P315"><text:a xlink:type="simple" xlink:href="#__RefHeading__2528_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2 <text:s/>Details on experiment definition<text:tab/>6</text:a></text:p> + <text:p text:style-name="P316"><text:a xlink:type="simple" xlink:href="#__RefHeading__2530_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.1 <text:s/>Design<text:tab/>6</text:a></text:p> + <text:p text:style-name="P316"><text:a xlink:type="simple" xlink:href="#__RefHeading__2532_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.2 <text:s/>Tools<text:tab/>7</text:a></text:p> + <text:p text:style-name="P316"><text:a xlink:type="simple" xlink:href="#__RefHeading__2534_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.3 <text:s/>Format of .config files<text:tab/>9</text:a></text:p> + <text:p text:style-name="P317"><text:a xlink:type="simple" xlink:href="#__RefHeading__1669_1438093122" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.3.1 <text:s/>Variables<text:tab/>9</text:a></text:p> + <text:p text:style-name="P317"><text:a xlink:type="simple" xlink:href="#__RefHeading__2536_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.3.2 <text:s/>Sections<text:tab/>9</text:a></text:p> + <text:p text:style-name="P317"><text:a xlink:type="simple" xlink:href="#__RefHeading__2538_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.3.3 <text:s/>Special variables and sections<text:tab/>10</text:a></text:p> + <text:p text:style-name="P317"><text:a xlink:type="simple" xlink:href="#__RefHeading__2540_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.3.4 <text:s/>Variable interpolation<text:tab/>12</text:a></text:p> + <text:p text:style-name="P317"><text:a xlink:type="simple" xlink:href="#__RefHeading__2542_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.3.5 <text:s/>Evaluation of interpolation<text:tab/>12</text:a></text:p> + <text:p text:style-name="P317"><text:a xlink:type="simple" xlink:href="#__RefHeading__2544_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.3.6 <text:s/>Special expressions<text:tab/>13</text:a></text:p> + <text:p text:style-name="P316"><text:a xlink:type="simple" xlink:href="#__RefHeading__2546_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.4 <text:s/>Format of .tmpl files<text:tab/>14</text:a></text:p> + <text:p text:style-name="P317"><text:a xlink:type="simple" xlink:href="#__RefHeading__2548_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.4.1 <text:s/>Placeholders<text:tab/>14</text:a></text:p> + <text:p text:style-name="P317"><text:a xlink:type="simple" xlink:href="#__RefHeading__2550_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.4.2 <text:s/>Variables in sections<text:tab/>15</text:a></text:p> + <text:p text:style-name="P317"><text:a xlink:type="simple" xlink:href="#__RefHeading__2552_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.4.3 <text:s/>Expressions<text:tab/>15</text:a></text:p> + <text:p text:style-name="P317"><text:a xlink:type="simple" xlink:href="#__RefHeading__2554_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.4.4 <text:s/>Loops<text:tab/>16</text:a></text:p> + <text:p text:style-name="P317"><text:a xlink:type="simple" xlink:href="#__RefHeading__2556_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.4.5 <text:s/>Conditions<text:tab/>17</text:a></text:p> + <text:p text:style-name="P317"><text:a xlink:type="simple" xlink:href="#__RefHeading__2558_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.4.6 <text:s/>Comments<text:tab/>17</text:a></text:p> + <text:p text:style-name="P317"><text:a xlink:type="simple" xlink:href="#__RefHeading___Toc3658_1790556471" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.4.7 <text:s/>Block statements and block comments<text:tab/>17</text:a></text:p> + <text:p text:style-name="P316"><text:a xlink:type="simple" xlink:href="#__RefHeading__2560_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.5 <text:s/>Standard experiments<text:tab/>18</text:a></text:p> + <text:p text:style-name="P316"><text:a xlink:type="simple" xlink:href="#__RefHeading__2562_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.6 <text:s/>Standard options<text:tab/>18</text:a></text:p> + <text:p text:style-name="P317"><text:a xlink:type="simple" xlink:href="#__RefHeading___Toc3660_1790556471" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.6.1 <text:s/>Options set due to model configuration<text:tab/>18</text:a></text:p> + <text:p text:style-name="P316"><text:a xlink:type="simple" xlink:href="#__RefHeading__1508_1711940803" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.7 <text:s/>Generating jobs<text:tab/>19</text:a></text:p> + <text:p text:style-name="P317"><text:a xlink:type="simple" xlink:href="#__RefHeading__2566_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.7.1 <text:s/></text:a><text:a xlink:type="simple" xlink:href="#__RefHeading__2566_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link"><text:span text:style-name="T56">C</text:span></text:a><text:a xlink:type="simple" xlink:href="#__RefHeading__2566_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link"><text:span text:style-name="T56">hanging the model job list</text:span></text:a><text:a xlink:type="simple" xlink:href="#__RefHeading__2566_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link"><text:tab/>19</text:a></text:p> + <text:p text:style-name="P317"><text:a xlink:type="simple" xlink:href="#__RefHeading__2568_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.7.2 <text:s/>Pre-defined job variables<text:tab/>20</text:a></text:p> + <text:p text:style-name="P317"><text:a xlink:type="simple" xlink:href="#__RefHeading__2570_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.7.3 <text:s/>Overriding namelist settings in derived jobs<text:tab/>20</text:a></text:p> + <text:p text:style-name="P317"><text:a xlink:type="simple" xlink:href="#__RefHeading__2572_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.7.4 <text:s/>Native script variables<text:tab/>21</text:a></text:p> + <text:p text:style-name="P317"><text:a xlink:type="simple" xlink:href="#__RefHeading__2574_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.7.5 <text:s/>Initializing native script variables<text:tab/>22</text:a></text:p> + <text:p text:style-name="P317"><text:a xlink:type="simple" xlink:href="#__RefHeading__2576_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.7.6 <text:s/>Re-generation of scripts and backup<text:tab/>22</text:a></text:p> + <text:p text:style-name="P316"><text:a xlink:type="simple" xlink:href="#__RefHeading__2564_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.8 <text:s/>Standard environments<text:tab/>23</text:a></text:p> + <text:p text:style-name="P316"><text:a xlink:type="simple" xlink:href="#__RefHeading__1883_1672291846" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.9 <text:s/>Defining namelists and other configuration files<text:tab/>23</text:a></text:p> + <text:p text:style-name="P317"><text:a xlink:type="simple" xlink:href="#__RefHeading__2578_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.9.1 <text:s/>Formatting the namelist information<text:tab/>24</text:a></text:p> + <text:p text:style-name="P317"><text:a xlink:type="simple" xlink:href="#__RefHeading__2580_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.9.2 <text:s/></text:a><text:a xlink:type="simple" xlink:href="#__RefHeading__2580_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link"><text:span text:style-name="T56">S</text:span></text:a><text:a xlink:type="simple" xlink:href="#__RefHeading__2580_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link"><text:span text:style-name="T56">uppressing namelist </text:span></text:a><text:a xlink:type="simple" xlink:href="#__RefHeading__2580_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link"><text:span text:style-name="T56">files, </text:span></text:a><text:a xlink:type="simple" xlink:href="#__RefHeading__2580_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link"><text:span text:style-name="T56">groups, or variables</text:span></text:a><text:a xlink:type="simple" xlink:href="#__RefHeading__2580_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link"><text:tab/>24</text:a></text:p> + <text:p text:style-name="P317"><text:a xlink:type="simple" xlink:href="#__RefHeading___Toc4310_4067847427" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.9.3 <text:s/>Comments in namelists<text:tab/>25</text:a></text:p> + <text:p text:style-name="P317"><text:a xlink:type="simple" xlink:href="#__RefHeading__2714_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.9.4 <text:s/>Using the namelist text<text:tab/>26</text:a></text:p> + <text:p text:style-name="P317"><text:a xlink:type="simple" xlink:href="#__RefHeading___Toc3662_1790556471" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.9.5 <text:s/>Using native script variables in namelists<text:tab/>27</text:a></text:p> + <text:p text:style-name="P317"><text:a xlink:type="simple" xlink:href="#__RefHeading__2584_1114405012" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.9.6 <text:s/>Non-namelist configuration files<text:tab/>27</text:a></text:p> + <text:p text:style-name="P316"><text:a xlink:type="simple" xlink:href="#__RefHeading__2831_1132221942" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.10 <text:s/></text:a><text:a xlink:type="simple" xlink:href="#__RefHeading__2831_1132221942" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link"><text:span text:style-name="T56">D</text:span></text:a><text:a xlink:type="simple" xlink:href="#__RefHeading__2831_1132221942" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link"><text:span text:style-name="T56">efining input files for an experiment</text:span></text:a><text:a xlink:type="simple" xlink:href="#__RefHeading__2831_1132221942" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link"><text:tab/>28</text:a></text:p> + <text:p text:style-name="P317"><text:a xlink:type="simple" xlink:href="#__RefHeading__2833_1132221942" text:style-name="Index_20_Link" text:visited-style-name="Index_20_Link">2.10.1 <text:s/>Overriding input files for certain jobs<text:tab/>28</text:a></text:p> </text:index-body> </text:table-of-content> <text:p text:style-name="P86"/> <text:h text:style-name="P314" text:outline-level="1"><text:bookmark-start text:name="__RefHeading__2518_1114405012"/>Introduction<text:bookmark-end text:name="__RefHeading__2518_1114405012"/></text:h> <text:p text:style-name="Text_20_body">Running a numerical earth system model experiment requires a number of preparatory and processing steps like staging input data files, providing namelists and other configuration data, housekeeping duties like model-time management, post-processing and storing <text:span text:style-name="T1">of </text:span>output data. These steps are usually put into scripts or another kind of job description that is finally executed on some high-performance computing system.</text:p> - <text:p text:style-name="P1">The <text:span text:style-name="T187">Make Experiments! (</text:span>mkexp<text:span text:style-name="T187">)</text:span> toolbox provides a generic interface to setting up such a<text:span text:style-name="T1">n experiment</text:span>. At the heart of this <text:span text:style-name="T1">lies</text:span> the so-called .config file. This is a simple <text:span text:style-name="T1">text </text:span>file that contains the model settings for your experiment in a way that is <text:span text:style-name="T1">largely </text:span>independent of the job description that is later used to run it.</text:p> + <text:p text:style-name="P1">The <text:span text:style-name="T185">Make Experiments! (</text:span>mkexp<text:span text:style-name="T185">)</text:span> toolbox provides a generic interface to setting up such a<text:span text:style-name="T1">n experiment</text:span>. At the heart of this <text:span text:style-name="T1">lies</text:span> the so-called .config file. This is a simple <text:span text:style-name="T1">text </text:span>file that contains the model settings for your experiment in a way that is <text:span text:style-name="T1">largely </text:span>independent of the job description that is later used to run it.</text:p> <text:p text:style-name="P4">To make this an easy task, MPI-M's models are delivered with a number of standard experiment types. Your own .config file will chose one of these, thus inheriting their settings for use in your experiment. Typically, it will also override or amend these settings for the purpose of your experiment.</text:p> <text:p text:style-name="P2">While the .config fil<text:span text:style-name="T2">e contains all necessary settings, there is much more to the actual job description. Therefore, the standard experiment types also provide templates (.tmpl files) for the jobs to run, that are then converted to the final job step descriptions, using the .config file settings. Besides, the .config file contains a 'jobs' section, where the job control flow and parameters of the job description itself may be adjusted, e.g. requiring more resources or disabling certain job steps.</text:span></text:p> <text:h text:style-name="Heading_20_2" text:outline-level="2"><text:bookmark-start text:name="__RefHeading__2520_1114405012"/>Example: <text:span text:style-name="T3">ECHAM experiment setup</text:span><text:bookmark-end text:name="__RefHeading__2520_1114405012"/></text:h> <text:p text:style-name="P32">To illustrate the way <text:span text:style-name="T9">mkexp</text:span> works, let us look at the way that experiments with ECHAM, MPI-M's atmospheric circulation model, are set up.</text:p> <text:h text:style-name="P321" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2522_1114405012"/>Experiments are defined by custom and default settings<text:bookmark-end text:name="__RefHeading__2522_1114405012"/></text:h> - <text:p text:style-name="P3">ECHAM comes with five <text:span text:style-name="T246">pre-defined </text:span>experiment types, amip-LR, amip-MR, amip-HR, sstClim-LR and sstClim-MR. <text:span text:style-name="T3">To set up an experiment based on one of these, like amip-LR, all you have to do is create your own experiment configuration file within ECHAM's run subdirectory, e.g. 'joe1234.config', setting amip-LR as experiment type and providing an experiment description with the header comment:</text:span></text:p> + <text:p text:style-name="P3">ECHAM comes with five <text:span text:style-name="T244">pre-defined </text:span>experiment types, amip-LR, amip-MR, amip-HR, sstClim-LR and sstClim-MR. <text:span text:style-name="T3">To set up an experiment based on one of these, like amip-LR, all you have to do is create your own experiment configuration file within ECHAM's run subdirectory, e.g. 'joe1234.config', setting amip-LR as experiment type and providing an experiment description with the header comment:</text:span></text:p> <text:p text:style-name="P116"># Standard AMIP experiment as baseline for further experiments (LR)</text:p> <text:p text:style-name="P116"/> <text:p text:style-name="P116">EXP_TYPE = amip-LR</text:p> - <text:p text:style-name="P3">For each <text:span text:style-name="T4">experiment type</text:span>, you will find a .config file in the run/standard_experiments subdirectory. For instance, <text:span text:style-name="T245">'</text:span>amip-LR.config<text:span text:style-name="T245">'</text:span> includes these settings</text:p> + <text:p text:style-name="P3">For each <text:span text:style-name="T4">experiment type</text:span>, you will find a .config file in the run/standard_experiments subdirectory. For instance, <text:span text:style-name="T243">'</text:span>amip-LR.config<text:span text:style-name="T243">'</text:span> includes these settings</text:p> <text:p text:style-name="P115"># Default definitions for amip-LR experiments </text:p> <text:p text:style-name="P114"><text:soft-page-break/></text:p> <text:p text:style-name="P114">RES = 63 </text:p> @@ -2931,58 +2870,58 @@ <text:p text:style-name="P117"><text:s text:c="2"/>[[namelist.jsbach]] </text:p> <text:p text:style-name="P117"><text:s text:c="4"/>[[[jsbach_ctl]]] </text:p> <text:p text:style-name="P117"><text:s text:c="6"/>use_dynveg <text:s/>= false </text:p> - <text:p text:style-name="P5">As you can see, settings are simple name = value pairs that may be organized in sections. Sections are defined by a bracketed section name. They may contain subsections, where the number of brackets define<text:span text:style-name="T185">s</text:span> the hierarchy depth. The pre-defined sections [namelists] and [jobs] are used for special purposes within <text:span text:style-name="T9">mkexp</text:span>.</text:p> - <text:p text:style-name="P5"><text:span text:style-name="T245">Some s</text:span>ettings apply to all <text:span text:style-name="T245">ECHAM </text:span>experiment types. <text:span text:style-name="T245">They</text:span> go into a file named <text:span text:style-name="T245">'</text:span>DEFAULT.config<text:span text:style-name="T245">'</text:span>. <text:span text:style-name="T9">mkexp</text:span> will <text:span text:style-name="T245">always </text:span>read this file <text:span text:style-name="T245">first, </text:span>before applying <text:span text:style-name="T245">any </text:span>settings from <text:span text:style-name="T245">a specific experiment type like 'amip-LR.config'.</text:span> <text:span text:style-name="T245">Such settings might be default paths for input data, as in</text:span></text:p> - <text:p text:style-name="P121"># <text:span text:style-name="T245">Default definitions for all </text:span>ECHAM experiment<text:span text:style-name="T245">s</text:span></text:p> + <text:p text:style-name="P5">As you can see, settings are simple name = value pairs that may be organized in sections. Sections are defined by a bracketed section name. They may contain subsections, where the number of brackets define<text:span text:style-name="T183">s</text:span> the hierarchy depth. The pre-defined sections [namelists] and [jobs] are used for special purposes within <text:span text:style-name="T9">mkexp</text:span>.</text:p> + <text:p text:style-name="P5"><text:span text:style-name="T243">Some s</text:span>ettings apply to all <text:span text:style-name="T243">ECHAM </text:span>experiment types. <text:span text:style-name="T243">They</text:span> go into a file named <text:span text:style-name="T243">'</text:span>DEFAULT.config<text:span text:style-name="T243">'</text:span>. <text:span text:style-name="T9">mkexp</text:span> will <text:span text:style-name="T243">always </text:span>read this file <text:span text:style-name="T243">first, </text:span>before applying <text:span text:style-name="T243">any </text:span>settings from <text:span text:style-name="T243">a specific experiment type like 'amip-LR.config'.</text:span> <text:span text:style-name="T243">Such settings might be default paths for input data, as in</text:span></text:p> + <text:p text:style-name="P121"># <text:span text:style-name="T243">Default definitions for all </text:span>ECHAM experiment<text:span text:style-name="T243">s</text:span></text:p> <text:p text:style-name="P121"/> <text:p text:style-name="P121">ATMO_INPUT_ROOT = /pool/data/ECHAM6/input/r0004 </text:p> <text:p text:style-name="P121">LAND_INPUT_ROOT = /pool/data/JSBACH/input/r0004 </text:p> <text:p text:style-name="P6">The final configuration is then merged from all of these three sources, where the experiment configuration may override <text:span text:style-name="T53">or amend </text:span>settings from the experiment type, and the type config may in turn change the model defaults.</text:p> <text:h text:style-name="P322" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2524_1114405012"/>Job templates are completed by settings to create scripts<text:bookmark-end text:name="__RefHeading__2524_1114405012"/></text:h> - <text:p text:style-name="P6"><text:span text:style-name="T245">Now the experiment configuration is finalized, the </text:span>settings are used to fill in <text:span text:style-name="T245">a kind of job description forms, so called </text:span><text:span text:style-name="T9">templates</text:span><text:span text:style-name="T245">, </text:span>from which eventually the <text:span text:style-name="T245">actual </text:span>job description files are created. As the structure of<text:span text:style-name="T245"> </text:span>jobs is largely independent of the model resolution, all amip- experiment types share the same set of template files. One of them is <text:span text:style-name="T266">'</text:span>amip.run.tmpl<text:span text:style-name="T266">'</text:span>, also within the run/standard_experiments subdirectory. <text:span text:style-name="T6">The excerpt below shows that t</text:span>his looks mostly like a shell script, but contains <text:span text:style-name="T186">placeholders</text:span> that are filled using the .config file information:</text:p> + <text:p text:style-name="P6"><text:span text:style-name="T243">Now the experiment configuration is finalized, the </text:span>settings are used to fill in <text:span text:style-name="T243">a kind of job description forms, so called </text:span><text:span text:style-name="T9">templates</text:span><text:span text:style-name="T243">, </text:span>from which eventually the <text:span text:style-name="T243">actual </text:span>job description files are created. As the structure of<text:span text:style-name="T243"> </text:span>jobs is largely independent of the model resolution, all amip- experiment types share the same set of template files. One of them is <text:span text:style-name="T264">'</text:span>amip.run.tmpl<text:span text:style-name="T264">'</text:span>, also within the run/standard_experiments subdirectory. <text:span text:style-name="T6">The excerpt below shows that t</text:span>his looks mostly like a shell script, but contains <text:span text:style-name="T184">placeholders</text:span> that are filled using the .config file information:</text:p> <text:p text:style-name="P121">#! /bin/bash</text:p> <text:p text:style-name="P121"/> <text:p text:style-name="P121"># Job file to run ECHAM 6 </text:p> <text:p text:style-name="P121"/> - <text:p text:style-name="P127">EXP=<text:span text:style-name="T170">%{EXP_ID}</text:span> # experiment identifier </text:p> + <text:p text:style-name="P127">EXP=<text:span text:style-name="T168">%{EXP_ID}</text:span> # experiment identifier </text:p> <text:p text:style-name="P121"/> - <text:p text:style-name="P121">RES=<text:span text:style-name="T170">%{RES}</text:span> <text:span text:style-name="T186"># experiment truncation</text:span></text:p> + <text:p text:style-name="P121">RES=<text:span text:style-name="T168">%{RES}</text:span> <text:span text:style-name="T184"># experiment truncation</text:span></text:p> <text:p text:style-name="P121"/> <text:p text:style-name="P127"># absolute paths to directories with initial data: </text:p> - <text:p text:style-name="P127">ATMO_DATA=<text:span text:style-name="T170">%{ATMO_INPUT_ROOT}</text:span> </text:p> + <text:p text:style-name="P127">ATMO_DATA=<text:span text:style-name="T168">%{ATMO_INPUT_ROOT}</text:span> </text:p> <text:p text:style-name="P127">ATMO_MAP_DATA=$ATMO_DATA/T${RES} </text:p> <text:p text:style-name="P127"><text:soft-page-break/></text:p> <text:p text:style-name="P127"># absolute path to directory with initial data for JSBACH: </text:p> - <text:p text:style-name="P127">LAND_MAP_DATA=<text:span text:style-name="T170">%{LAND_INPUT_ROOT}</text:span>/T${RES} </text:p> + <text:p text:style-name="P127">LAND_MAP_DATA=<text:span text:style-name="T168">%{LAND_INPUT_ROOT}</text:span>/T${RES} </text:p> <text:p text:style-name="P122"/> <text:p text:style-name="P122"># </text:p> <text:p text:style-name="P121"># ECHAM6 namelist </text:p> <text:p text:style-name="P121"># </text:p> <text:p text:style-name="P121">cat > namelist.echam << EOF </text:p> - <text:p text:style-name="P121"><text:span text:style-name="T170">%{NAMELIST_ECHAM}</text:span> </text:p> + <text:p text:style-name="P121"><text:span text:style-name="T168">%{NAMELIST_ECHAM}</text:span> </text:p> <text:p text:style-name="P121">EOF </text:p> <text:p text:style-name="P121"/> <text:p text:style-name="P121"># </text:p> <text:p text:style-name="P121"># JSBACH namelist</text:p> <text:p text:style-name="P121"># </text:p> <text:p text:style-name="P121">cat > namelist.jsbach << EOF </text:p> - <text:p text:style-name="P121"><text:span text:style-name="T170">%{NAMELIST_JSBACH}</text:span> </text:p> + <text:p text:style-name="P121"><text:span text:style-name="T168">%{NAMELIST_JSBACH}</text:span> </text:p> <text:p text:style-name="P121">EOF </text:p> - <text:p text:style-name="P7"><text:span text:style-name="T246">T</text:span>h<text:span text:style-name="T246">e</text:span>se <text:span text:style-name="T246">'</text:span>%{...}<text:span text:style-name="T246">'</text:span> construct<text:span text:style-name="T7">s</text:span> correspond to the configuration settings shown in the previous section. The value for <text:span text:style-name="T266">the setting </text:span>given <text:span text:style-name="T246">by the variable name between '%{' and '}'</text:span> is pasted into the template, replacing the placeholder. The special names 'NAMELIST_ECHAM' and 'NAMELIST_JSBACH' contain the contents of the 'namelists' subsections, with each setting taken to be a Fortran namelist setting, and formatted accordingly. 'EXP_ID' is taken to be the base filename of the experiment's .config file. The result of this operation is then written to the final job script, in our case <text:span text:style-name="T246">'</text:span>joe1234.run<text:span text:style-name="T246">'</text:span>:</text:p> + <text:p text:style-name="P7"><text:span text:style-name="T244">T</text:span>h<text:span text:style-name="T244">e</text:span>se <text:span text:style-name="T244">'</text:span>%{...}<text:span text:style-name="T244">'</text:span> construct<text:span text:style-name="T7">s</text:span> correspond to the configuration settings shown in the previous section. The value for <text:span text:style-name="T264">the setting </text:span>given <text:span text:style-name="T244">by the variable name between '%{' and '}'</text:span> is pasted into the template, replacing the placeholder. The special names 'NAMELIST_ECHAM' and 'NAMELIST_JSBACH' contain the contents of the 'namelists' subsections, with each setting taken to be a Fortran namelist setting, and formatted accordingly. 'EXP_ID' is taken to be the base filename of the experiment's .config file. The result of this operation is then written to the final job script, in our case <text:span text:style-name="T244">'</text:span>joe1234.run<text:span text:style-name="T244">'</text:span>:</text:p> <text:p text:style-name="P122">#! /bin/bash</text:p> <text:p text:style-name="P122"/> <text:p text:style-name="P122"># Job file to run ECHAM 6 </text:p> <text:p text:style-name="P122"/> - <text:p text:style-name="P127">EXP=<text:span text:style-name="T170">joe1234</text:span> # experiment identifier </text:p> + <text:p text:style-name="P127">EXP=<text:span text:style-name="T168">joe1234</text:span> # experiment identifier </text:p> <text:p text:style-name="P122"/> - <text:p text:style-name="P122">RES=<text:span text:style-name="T171">63</text:span><text:span text:style-name="T6"> # experiment truncation</text:span></text:p> + <text:p text:style-name="P122">RES=<text:span text:style-name="T169">63</text:span><text:span text:style-name="T6"> # experiment truncation</text:span></text:p> <text:p text:style-name="P122"/> <text:p text:style-name="P122">#<text:span text:style-name="T6"> absolute paths to directories with initial data: </text:span></text:p> - <text:p text:style-name="P127">ATMO_DATA=<text:span text:style-name="T172">/pool/data/ECHAM6/input/r0004</text:span><text:span text:style-name="T5"> </text:span></text:p> + <text:p text:style-name="P127">ATMO_DATA=<text:span text:style-name="T170">/pool/data/ECHAM6/input/r0004</text:span><text:span text:style-name="T5"> </text:span></text:p> <text:p text:style-name="P127">ATMO_MAP_DATA=$ATMO_DATA/T${RES} </text:p> <text:p text:style-name="P127"/> <text:p text:style-name="P127"># absolute path to directory with initial data for JSBACH: </text:p> - <text:p text:style-name="P127">LAND_MAP_DATA=<text:span text:style-name="T172">/pool/data/JSBACH/input/r0004</text:span>/T${RES} </text:p> + <text:p text:style-name="P127">LAND_MAP_DATA=<text:span text:style-name="T170">/pool/data/JSBACH/input/r0004</text:span>/T${RES} </text:p> <text:p text:style-name="P127"/> <text:p text:style-name="P127">#</text:p> <text:p text:style-name="P122"># ECHAM6 namelist </text:p> @@ -3001,24 +2940,24 @@ <text:p text:style-name="P130"><text:s text:c="4"/>use_dynveg = .false.</text:p> <text:p text:style-name="P130"><text:soft-page-break/>/</text:p> <text:p text:style-name="P122">EOF </text:p> - <text:h text:style-name="Heading_20_3" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2526_1114405012"/><text:span text:style-name="T246">G</text:span>enerat<text:span text:style-name="T246">ing scripts only refers to the custom settings' file</text:span><text:bookmark-end text:name="__RefHeading__2526_1114405012"/></text:h> - <text:p text:style-name="P13"><text:span text:style-name="T245">So, as soon as</text:span> <text:span text:style-name="T245">you have set up '</text:span>joe1234.config<text:span text:style-name="T245">'</text:span>, you may create the job scripts that are needed to run your experiment. Still within ECHAM's <text:span text:style-name="T247">'</text:span>run<text:span text:style-name="T247">'</text:span> subdirectory, type the following into your terminal:</text:p> + <text:h text:style-name="Heading_20_3" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2526_1114405012"/><text:span text:style-name="T244">G</text:span>enerat<text:span text:style-name="T244">ing scripts only refers to the custom settings' file</text:span><text:bookmark-end text:name="__RefHeading__2526_1114405012"/></text:h> + <text:p text:style-name="P13"><text:span text:style-name="T243">So, as soon as</text:span> <text:span text:style-name="T243">you have set up '</text:span>joe1234.config<text:span text:style-name="T243">'</text:span>, you may create the job scripts that are needed to run your experiment. Still within ECHAM's <text:span text:style-name="T245">'</text:span>run<text:span text:style-name="T245">'</text:span> subdirectory, type the following into your terminal:</text:p> <text:p text:style-name="Preformatted_20_Text">../util/mkexp/mkexp joe1234.config</text:p> - <text:p text:style-name="P14">This will <text:span text:style-name="T187">read all configuration information and </text:span>create all job scripts that are defined within your experiment's setup, <text:span text:style-name="T187">using their respective templates as shown in the previous section</text:span>. <text:span text:style-name="T9">mkexp</text:span> will put these <text:span text:style-name="T187">scripts </text:span>in <text:span text:style-name="T187">a common</text:span> directory defined by the .config variable <text:span text:style-name="T247">'</text:span>SCRIPT_DIR<text:span text:style-name="T247">'</text:span>, and <text:span text:style-name="T247">print</text:span> the name of this directory on your terminal.</text:p> - <text:h text:style-name="P318" text:outline-level="1"><text:bookmark-start text:name="__RefHeading__2528_1114405012"/>Details on <text:span text:style-name="T265">experiment</text:span> <text:span text:style-name="T265">definition</text:span><text:bookmark-end text:name="__RefHeading__2528_1114405012"/></text:h> + <text:p text:style-name="P14">This will <text:span text:style-name="T185">read all configuration information and </text:span>create all job scripts that are defined within your experiment's setup, <text:span text:style-name="T185">using their respective templates as shown in the previous section</text:span>. <text:span text:style-name="T9">mkexp</text:span> will put these <text:span text:style-name="T185">scripts </text:span>in <text:span text:style-name="T185">a common</text:span> directory defined by the .config variable <text:span text:style-name="T245">'</text:span>SCRIPT_DIR<text:span text:style-name="T245">'</text:span>, and <text:span text:style-name="T245">print</text:span> the name of this directory on your terminal.</text:p> + <text:h text:style-name="P318" text:outline-level="1"><text:bookmark-start text:name="__RefHeading__2528_1114405012"/>Details on <text:span text:style-name="T263">experiment</text:span> <text:span text:style-name="T263">definition</text:span><text:bookmark-end text:name="__RefHeading__2528_1114405012"/></text:h> <text:p text:style-name="P15">With the introductory example of the previous section in mind, this section will give some more detailed information on specific aspects of <text:span text:style-name="T9">mkexp</text:span><text:span text:style-name="T56">.</text:span></text:p> <text:h text:style-name="P340" text:outline-level="2"><text:bookmark-start text:name="__RefHeading__2530_1114405012"/>Design<text:bookmark-end text:name="__RefHeading__2530_1114405012"/></text:h> - <text:p text:style-name="P34">Experiment definition with <text:span text:style-name="T9">mkexp</text:span> <text:span text:style-name="T219">is organized</text:span> <text:span text:style-name="T219">in</text:span> three levels.</text:p> - <text:p text:style-name="P34">The first level is the <text:span text:style-name="T9">mkexp</text:span> toolbox. It provides the front end to create an executable job description from a generic experiment configuration, <text:span text:style-name="T218">but does not contain any model specific information. Instead a basic set of conventions is defined that should be applicable to a very large range of model systems. When this document uses the term </text:span><text:span text:style-name="T18">mkexp</text:span><text:span text:style-name="T62">, it refers to this system level.</text:span></text:p> - <text:p text:style-name="P34"><text:span text:style-name="T218">At a second level, a model needs to provide a number of files containing the information needed by </text:span><text:span text:style-name="T17">mkexp</text:span><text:span text:style-name="T218">: the required job steps and their interaction, the basic contents of job scripts, model specific information, and building blocks that may be combined to define a specific experiment. This is called the </text:span><text:span text:style-name="T17">model setup</text:span><text:span text:style-name="T61">. The files must maintain the naming conventions prescribed by </text:span><text:span text:style-name="T17">mkexp</text:span><text:span text:style-name="T61">.</text:span></text:p> + <text:p text:style-name="P34">Experiment definition with <text:span text:style-name="T9">mkexp</text:span> <text:span text:style-name="T217">is organized</text:span> <text:span text:style-name="T217">in</text:span> three levels.</text:p> + <text:p text:style-name="P34">The first level is the <text:span text:style-name="T9">mkexp</text:span> toolbox. It provides the front end to create an executable job description from a generic experiment configuration, <text:span text:style-name="T216">but does not contain any model specific information. Instead a basic set of conventions is defined that should be applicable to a very large range of model systems. When this document uses the term </text:span><text:span text:style-name="T18">mkexp</text:span><text:span text:style-name="T62">, it refers to this system level.</text:span></text:p> + <text:p text:style-name="P34"><text:span text:style-name="T216">At a second level, a model needs to provide a number of files containing the information needed by </text:span><text:span text:style-name="T17">mkexp</text:span><text:span text:style-name="T216">: the required job steps and their interaction, the basic contents of job scripts, model specific information, and building blocks that may be combined to define a specific experiment. This is called the </text:span><text:span text:style-name="T17">model setup</text:span><text:span text:style-name="T61">. The files must maintain the naming conventions prescribed by </text:span><text:span text:style-name="T17">mkexp</text:span><text:span text:style-name="T61">.</text:span></text:p> <text:p text:style-name="P35"><text:span text:style-name="T56">Finally, the third level is the actual experiment definition. Here the user decides which of the building blocks from the previous level are needed, and </text:span><text:span text:style-name="T93">defines</text:span><text:span text:style-name="T56"> experiment specific settings that override or amend the information from the model setup. It is also essential to supply an experiment description and a – possibly unique – experiment identifier. All this is called the </text:span><text:span text:style-name="T9">user setup</text:span><text:span text:style-name="T56">.</text:span></text:p> <text:p text:style-name="P36"><text:span text:style-name="T56">All levels should make a clear distinction </text:span><text:span text:style-name="T63">between </text:span><text:span text:style-name="T56">the .config files, containing the experiment's configuration information, </text:span><text:span text:style-name="T63">and </text:span><text:span text:style-name="T56">the .tmpl files, containing the actual job description and job control syntax.</text:span></text:p> <text:h text:style-name="P341" text:outline-level="2"><text:bookmark-start text:name="__RefHeading__2532_1114405012"/><text:soft-page-break/>Tools<text:bookmark-end text:name="__RefHeading__2532_1114405012"/></text:h> - <text:p text:style-name="P87"><text:span text:style-name="T187">The </text:span><text:span text:style-name="T32">mkexp</text:span><text:span text:style-name="T187"> package provides a number of tools for working with script configurations and setups.</text:span></text:p> - <text:p text:style-name="Preformatted_20_List_20_Heading">mkexp <text:span text:style-name="T295">[-m] [-g] </text:span><text:span text:style-name="T23">file</text:span><text:span text:style-name="T74">.</text:span><text:span text:style-name="T56">config</text:span> [<text:span text:style-name="T9">name</text:span>=<text:span text:style-name="T9">value</text:span> ...]</text:p> - <text:p text:style-name="P239"><text:span text:style-name="T187">This is the main tool for generating an experiment setup. It </text:span>takes <text:span text:style-name="T248">the given</text:span> <text:span text:style-name="T248">user setup</text:span> and <text:span text:style-name="T267">the model setup that is referenced by the user setup </text:span>to generate <text:span text:style-name="T248">the</text:span> <text:span text:style-name="T248">job description files or</text:span> scripts that <text:span text:style-name="T267">are required to run a model experiment as specified in </text:span><text:span text:style-name="T21">file.</text:span><text:span text:style-name="T74">config</text:span><text:span text:style-name="T248">.</text:span></text:p> + <text:p text:style-name="P87"><text:span text:style-name="T185">The </text:span><text:span text:style-name="T32">mkexp</text:span><text:span text:style-name="T185"> package provides a number of tools for working with script configurations and setups.</text:span></text:p> + <text:p text:style-name="Preformatted_20_List_20_Heading">mkexp <text:span text:style-name="T293">[-m] [-g] </text:span><text:span text:style-name="T23">file</text:span><text:span text:style-name="T74">.</text:span><text:span text:style-name="T56">config</text:span> [<text:span text:style-name="T9">name</text:span>=<text:span text:style-name="T9">value</text:span> ...]</text:p> + <text:p text:style-name="P239"><text:span text:style-name="T185">This is the main tool for generating an experiment setup. It </text:span>takes <text:span text:style-name="T246">the given</text:span> <text:span text:style-name="T246">user setup</text:span> and <text:span text:style-name="T265">the model setup that is referenced by the user setup </text:span>to generate <text:span text:style-name="T246">the</text:span> <text:span text:style-name="T246">job description files or</text:span> scripts that <text:span text:style-name="T265">are required to run a model experiment as specified in </text:span><text:span text:style-name="T21">file.</text:span><text:span text:style-name="T74">config</text:span><text:span text:style-name="T246">.</text:span></text:p> <text:p text:style-name="P243">When running, <text:span text:style-name="T9">mkexp</text:span><text:span text:style-name="T56"> creates three directories, one each for the job scripts, run-time data, and output data, as defined by the setup. The names of these are printed, plus warnings if they already exist.</text:span></text:p> - <text:p text:style-name="P242">mkexp<text:span text:style-name="T56"> allows to override </text:span><text:span text:style-name="T72">or amend </text:span><text:span text:style-name="T56">the .config file settings on the command line </text:span><text:span text:style-name="T72">by defining or re-defining a variable </text:span><text:span text:style-name="T249">name</text:span><text:span text:style-name="T72"> set to </text:span><text:span text:style-name="T249">value</text:span><text:span text:style-name="T72">. Section variables are referenced as </text:span><text:span text:style-name="T249">sectionname</text:span><text:span text:style-name="T72">.</text:span><text:span text:style-name="T249">variablename</text:span><text:span text:style-name="T72">. Any periods in the variable name have to be duplicated, e.g. to set '.remove' in section 'jobs' to 'post', use 'jobs...remove=post'. Note that three periods will always be read as '.' followed by '..', thus it is not possible to use variable names th</text:span><text:span text:style-name="T94">at</text:span><text:span text:style-name="T72"> </text:span><text:span text:style-name="T249">end</text:span><text:span text:style-name="T72"> </text:span><text:span text:style-name="T94">i</text:span><text:span text:style-name="T72">n a period.</text:span></text:p> + <text:p text:style-name="P242">mkexp<text:span text:style-name="T56"> allows to override </text:span><text:span text:style-name="T72">or amend </text:span><text:span text:style-name="T56">the .config file settings on the command line </text:span><text:span text:style-name="T72">by defining or re-defining a variable </text:span><text:span text:style-name="T247">name</text:span><text:span text:style-name="T72"> set to </text:span><text:span text:style-name="T247">value</text:span><text:span text:style-name="T72">. Section variables are referenced as </text:span><text:span text:style-name="T247">sectionname</text:span><text:span text:style-name="T72">.</text:span><text:span text:style-name="T247">variablename</text:span><text:span text:style-name="T72">. Any periods in the variable name have to be duplicated, e.g. to set '.remove' in section 'jobs' to 'post', use 'jobs...remove=post'. Note that three periods will always be read as '.' followed by '..', thus it is not possible to use variable names th</text:span><text:span text:style-name="T94">at</text:span><text:span text:style-name="T72"> </text:span><text:span text:style-name="T247">end</text:span><text:span text:style-name="T72"> </text:span><text:span text:style-name="T94">i</text:span><text:span text:style-name="T72">n a period.</text:span></text:p> <text:p text:style-name="P259"><text:span text:style-name="T72">W</text:span><text:span text:style-name="T56">hen given the '-m' or '--no-make-dirs' option, only the </text:span><text:span text:style-name="T73">script</text:span><text:span text:style-name="T56"> directory is created while creation of the </text:span><text:span text:style-name="T73">run-time and outpu</text:span><text:span text:style-name="T56">t directories is skipped.</text:span></text:p> <text:p text:style-name="P261">With '-g' or '--getexp', instead of a .config file, <text:span text:style-name="T9">mkexp</text:span><text:span text:style-name="T56"> expects a dump generated by </text:span><text:span text:style-name="T9">getexp -vv</text:span><text:span text:style-name="T56"> (see below). The experiment setup is regenerated from this dump, overriding any model setup.</text:span></text:p> <text:p text:style-name="P278"><text:span text:style-name="T72">g</text:span><text:span text:style-name="T56">etexp [-v ...] </text:span><text:span text:style-name="T105">[-R]</text:span><text:span text:style-name="T56"> </text:span><text:span text:style-name="T111">[-k </text:span><text:span text:style-name="T39">key</text:span><text:span text:style-name="T111">] </text:span><text:span text:style-name="T9">file</text:span><text:span text:style-name="T56">.config [</text:span><text:span text:style-name="T9">name</text:span><text:span text:style-name="T56">=</text:span><text:span text:style-name="T9">value ...</text:span><text:span text:style-name="T56">]</text:span></text:p> @@ -3026,34 +2965,34 @@ <text:p text:style-name="P244"><text:span text:style-name="T56">When given the '-v' </text:span><text:span text:style-name="T105">or '--</text:span><text:span text:style-name="T56">verbose</text:span><text:span text:style-name="T105">'</text:span><text:span text:style-name="T56"> option, all </text:span><text:span text:style-name="T9">global</text:span><text:span text:style-name="T56"> configuration variables and their values are printed in alphabetical order. </text:span><text:span text:style-name="T105">When given twice, the whole configuration is dumped </text:span><text:span text:style-name="T110">to the screen</text:span><text:span text:style-name="T105">. </text:span><text:span text:style-name="T110">Save this to a file for use with </text:span><text:span text:style-name="T38">mkexp -g</text:span><text:span text:style-name="T110">.</text:span></text:p> <text:p text:style-name="P230">When given the '-R' or '--readme' option, the header comment text is printed.</text:p> <text:p text:style-name="P264">When given the '-k' or '--key' option, only the configured value for <text:span text:style-name="T9">key</text:span> is printed. Section variables may be referenced as described above for <text:span text:style-name="T9">name</text:span>=<text:span text:style-name="T9">value</text:span><text:span text:style-name="T56">. </text:span><text:span text:style-name="T113">This option may be used more than once to print additional values.</text:span><text:span text:style-name="T56"> </text:span></text:p> - <text:p text:style-name="P290">diffexp <text:span text:style-name="T22">file</text:span><text:span text:style-name="T23">1</text:span><text:span text:style-name="T250">.config </text:span><text:span text:style-name="T22">file2</text:span><text:span text:style-name="T73">.</text:span><text:span text:style-name="T74">config</text:span></text:p> + <text:p text:style-name="P290">diffexp <text:span text:style-name="T22">file</text:span><text:span text:style-name="T23">1</text:span><text:span text:style-name="T248">.config </text:span><text:span text:style-name="T22">file2</text:span><text:span text:style-name="T73">.</text:span><text:span text:style-name="T74">config</text:span></text:p> <text:p text:style-name="P227">For an easy comparison of the whole set of generated scripts for two different experiments, this tool takes the directories defined in each configuration, locates the job scripts corresponding to each other (e.g. exp0001.run and exp0002.run), equalizes all occurrences of the experiment name in the scripts and then uses the diff tool to show differences. The environment variable 'DIFF' may be set to an alternative tool to be called instead.</text:p> - <text:p text:style-name="P279">rmexp <text:span text:style-name="T24">file</text:span><text:span text:style-name="T251">.config</text:span><text:span text:style-name="T75"> [</text:span><text:span text:style-name="T24">name</text:span><text:span text:style-name="T75">=</text:span><text:span text:style-name="T24">value ...</text:span><text:span text:style-name="T75">]</text:span></text:p> - <text:p text:style-name="P246">This allows <text:span text:style-name="T254">interactive </text:span>remov<text:span text:style-name="T254">al for </text:span>all data of an experiment without having to <text:soft-page-break/>deal with path names, as these are read from the configuration.</text:p> - <text:p text:style-name="P292"><text:span text:style-name="T296">cp</text:span>exp <text:span text:style-name="T331">[-n] </text:span><text:span text:style-name="T24">file</text:span><text:span text:style-name="T251">.config</text:span><text:span text:style-name="T75"> </text:span><text:span text:style-name="T37">new_name</text:span><text:span text:style-name="T106"> </text:span><text:span text:style-name="T75">[</text:span><text:span text:style-name="T24">name</text:span><text:span text:style-name="T75">=</text:span><text:span text:style-name="T24">value ...</text:span><text:span text:style-name="T75">]</text:span></text:p> - <text:p text:style-name="P262"><text:span text:style-name="T297">Replicates all data </text:span>of an experiment <text:span text:style-name="T296">to a new experiment name; also updates text files by rewriting references to the old name</text:span>. <text:span text:style-name="T331">With '-n', shows what would be done instead of actually doing it</text:span></text:p> - <text:p text:style-name="P293"><text:span text:style-name="T306">du</text:span>exp <text:span text:style-name="T24">file</text:span><text:span text:style-name="T251">.config</text:span><text:span text:style-name="T75"> [</text:span><text:span text:style-name="T24">name</text:span><text:span text:style-name="T75">=</text:span><text:span text:style-name="T24">value ...</text:span><text:span text:style-name="T75">]</text:span></text:p> + <text:p text:style-name="P279">rmexp <text:span text:style-name="T24">file</text:span><text:span text:style-name="T249">.config</text:span><text:span text:style-name="T75"> [</text:span><text:span text:style-name="T24">name</text:span><text:span text:style-name="T75">=</text:span><text:span text:style-name="T24">value ...</text:span><text:span text:style-name="T75">]</text:span></text:p> + <text:p text:style-name="P246">This allows <text:span text:style-name="T252">interactive </text:span>remov<text:span text:style-name="T252">al for </text:span>all data of an experiment without having to <text:soft-page-break/>deal with path names, as these are read from the configuration.</text:p> + <text:p text:style-name="P292"><text:span text:style-name="T294">cp</text:span>exp <text:span text:style-name="T329">[-n] </text:span><text:span text:style-name="T24">file</text:span><text:span text:style-name="T249">.config</text:span><text:span text:style-name="T75"> </text:span><text:span text:style-name="T37">new_name</text:span><text:span text:style-name="T106"> </text:span><text:span text:style-name="T75">[</text:span><text:span text:style-name="T24">name</text:span><text:span text:style-name="T75">=</text:span><text:span text:style-name="T24">value ...</text:span><text:span text:style-name="T75">]</text:span></text:p> + <text:p text:style-name="P262"><text:span text:style-name="T295">Replicates all data </text:span>of an experiment <text:span text:style-name="T294">to a new experiment name; also updates text files by rewriting references to the old name</text:span>. <text:span text:style-name="T329">With '-n', shows what would be done instead of actually doing it</text:span></text:p> + <text:p text:style-name="P293"><text:span text:style-name="T304">du</text:span>exp <text:span text:style-name="T24">file</text:span><text:span text:style-name="T249">.config</text:span><text:span text:style-name="T75"> [</text:span><text:span text:style-name="T24">name</text:span><text:span text:style-name="T75">=</text:span><text:span text:style-name="T24">value ...</text:span><text:span text:style-name="T75">]</text:span></text:p> <text:p text:style-name="P266"><text:span text:style-name="T116">Shows disk usage for all data that has been created by</text:span><text:span text:style-name="T75"> </text:span><text:span text:style-name="T116">an</text:span><text:span text:style-name="T75"> experiment.</text:span></text:p> - <text:p text:style-name="P295"><text:span text:style-name="T317">upexp </text:span><text:span text:style-name="Variable"><text:span text:style-name="T317">file</text:span></text:span><text:span text:style-name="T317">.config </text:span><text:span text:style-name="T75">[</text:span><text:span text:style-name="Variable">name</text:span><text:span text:style-name="T75">=</text:span><text:span text:style-name="Variable">value</text:span><text:span text:style-name="Variable"><text:span text:style-name="T24"> </text:span></text:span><text:span text:style-name="T24">...</text:span><text:span text:style-name="T75">]</text:span></text:p> + <text:p text:style-name="P295"><text:span text:style-name="T315">upexp </text:span><text:span text:style-name="Variable"><text:span text:style-name="T315">file</text:span></text:span><text:span text:style-name="T315">.config </text:span><text:span text:style-name="T75">[</text:span><text:span text:style-name="Variable">name</text:span><text:span text:style-name="T75">=</text:span><text:span text:style-name="Variable">value</text:span><text:span text:style-name="Variable"><text:span text:style-name="T24"> </text:span></text:span><text:span text:style-name="T24">...</text:span><text:span text:style-name="T75">]</text:span></text:p> <text:p text:style-name="P232">Update generated scripts for the given experiment with the same mkexp version, environment and command line, as saved in the corresponding 'update' script.</text:p> - <text:p text:style-name="P294">edit<text:span text:style-name="T316">exp</text:span> [<text:span text:style-name="Variable">file</text:span>]</text:p> - <text:p text:style-name="P267">Reads <text:span text:style-name="T315">the</text:span> update script <text:span text:style-name="Variable">file</text:span> ('update' by default) and <text:span text:style-name="T315">launches a program to edit the </text:span>corresponding config file. <text:span text:style-name="T315">The program is taken from the environment variables 'VISUAL' or 'EDITOR' if defined, otherwise </text:span><text:span text:style-name="T42">vi</text:span><text:span text:style-name="T315"> is launched.</text:span></text:p> - <text:p text:style-name="P292"><text:span text:style-name="T314">getconfig</text:span> <text:span text:style-name="T314">[</text:span><text:span text:style-name="Variable">file</text:span><text:span text:style-name="T251">]</text:span></text:p> - <text:p text:style-name="P267">Documentation tool for experiments that were created using command line assignments. Reads <text:span text:style-name="T317">the</text:span> update script <text:span text:style-name="Variable">file</text:span> ('update' by default) and prints the corresponding config file with command line settings from the update script included.</text:p> - <text:p text:style-name="Preformatted_20_List_20_Heading"><text:span text:style-name="T324">setconfig</text:span> <text:span text:style-name="T325">[-d </text:span><text:span text:style-name="Variable"><text:span text:style-name="T325">key</text:span></text:span><text:span text:style-name="T325">] [-H </text:span><text:span text:style-name="Variable"><text:span text:style-name="T325">text</text:span></text:span><text:span text:style-name="T325">] [-a </text:span><text:span text:style-name="Variable"><text:span text:style-name="T326">file</text:span></text:span>.<text:span text:style-name="T326">config] [</text:span><text:span text:style-name="Variable">file</text:span>.<text:span text:style-name="T326">config</text:span><text:span text:style-name="T75"> [</text:span><text:span text:style-name="Variable"><text:span text:style-name="T251">name</text:span></text:span><text:span text:style-name="T75">=</text:span><text:span text:style-name="Variable"><text:span text:style-name="T251">value</text:span></text:span><text:span text:style-name="Variable"><text:span text:style-name="T24"> </text:span></text:span><text:span text:style-name="T24">...</text:span><text:span text:style-name="T75">]</text:span><text:span text:style-name="T124">]</text:span></text:p> - <text:p text:style-name="P269"><text:span text:style-name="T324">Filter tool to alter configuration files via command line. Reads </text:span><text:span text:style-name="Variable"><text:span text:style-name="T324">file</text:span></text:span><text:span text:style-name="T324">.config (standard input by default or if </text:span><text:span text:style-name="Variable"><text:span text:style-name="T324">file</text:span></text:span><text:span text:style-name="T324">.config = '-') and prints the filtered configuration to standard output. Add or alter variables by </text:span><text:span text:style-name="T43">name</text:span><text:span text:style-name="T324">=</text:span><text:span text:style-name="T43">value </text:span><text:span text:style-name="T324">as described before. With '-d' or '--delete', the variable </text:span><text:span text:style-name="Variable"><text:span text:style-name="T324">key</text:span></text:span><text:span text:style-name="T324"> is removed from the configuration. </text:span><text:span text:style-name="T123">With '-H' or '--header', </text:span><text:span text:style-name="Variable"><text:span text:style-name="T325">text</text:span></text:span> <text:span text:style-name="T325">is appended to the configuration's header comment. For files given with '-a' or '--add', all settings are merged with </text:span><text:span text:style-name="Variable"><text:span text:style-name="T324">file</text:span></text:span><text:span text:style-name="T324">.config.</text:span></text:p> - <text:p text:style-name="P300"><text:span text:style-name="T324">se</text:span><text:span text:style-name="T352">l</text:span><text:span text:style-name="T324">config</text:span><text:span text:style-name="T325"> [-</text:span><text:span text:style-name="T229">t</text:span><text:span text:style-name="T325">]</text:span> <text:span text:style-name="T325">[-</text:span><text:span text:style-name="T352">c</text:span><text:span text:style-name="T325">] </text:span><text:span text:style-name="Variable">section</text:span> <text:span text:style-name="T326">[</text:span><text:span text:style-name="Variable">file</text:span>.<text:span text:style-name="T326">config</text:span><text:span text:style-name="T124">]</text:span></text:p> - <text:p text:style-name="P272"><text:span text:style-name="T324">Filter tool to </text:span><text:span text:style-name="T346">extract</text:span><text:span text:style-name="T352"> sections from </text:span><text:span text:style-name="T324">configuration files via command line. Reads </text:span><text:span text:style-name="Variable"><text:span text:style-name="T324">file</text:span></text:span><text:span text:style-name="T324">.config (standard input by default or if </text:span><text:span text:style-name="Variable"><text:span text:style-name="T324">file</text:span></text:span><text:span text:style-name="T324">.config = '-') and prints the filtered configuration to standard output. </text:span><text:span text:style-name="Variable"><text:span text:style-name="T352">section</text:span></text:span><text:span text:style-name="T352"> is specified as described for </text:span><text:span text:style-name="T45">mkexp. </text:span><text:span text:style-name="T324">With '-</text:span><text:span text:style-name="T352">t</text:span><text:span text:style-name="T324">' or '--trailing-space', t</text:span><text:span text:style-name="T352">railing space is </text:span><text:span text:style-name="T324">removed from the </text:span><text:span text:style-name="T352">output lines</text:span><text:span text:style-name="T324">. </text:span><text:span text:style-name="T123">With '-</text:span><text:span text:style-name="T130">c</text:span><text:span text:style-name="T123">' or '--</text:span><text:span text:style-name="T339">inline-comments</text:span><text:span text:style-name="T123">', </text:span><text:span text:style-name="T130">multiple spaces between a variable value and an inline comment are reduced to a single space.</text:span></text:p> - <text:p text:style-name="P299">namelist2config [-d <text:span text:style-name="T333">[-c]</text:span> [-v]<text:span text:style-name="T335">]</text:span></text:p> - <text:p text:style-name="P271">Tries to extract namelist settings from shell scripts or log files and converts them to <text:span text:style-name="T334">the </text:span>.config format. <text:span text:style-name="T334">By default, comments are ignored and names of namelist groups and variables sorted to allow easier comparisons. With '-d', namelists are </text:span><text:span text:style-name="T335">printed directly, in original order</text:span><text:span text:style-name="T334">. </text:span><text:span text:style-name="T335">In this mode, </text:span><text:span text:style-name="T334">'-c' enables comments, '-v' will output non-namelist lines from input files as comments, prefixed with '###'.</text:span></text:p> - <text:p text:style-name="P301"><text:span text:style-name="T230">files</text:span><text:span text:style-name="T351">2config [-d</text:span><text:span text:style-name="T353">]</text:span><text:span text:style-name="T351"> </text:span><text:span text:style-name="T333">[-</text:span><text:span text:style-name="T353">x</text:span><text:span text:style-name="T333">]</text:span></text:p> - <text:p text:style-name="P273"><text:soft-page-break/><text:span text:style-name="T354">Tries to extract </text:span><text:span text:style-name="T353">input file operations </text:span><text:span text:style-name="T354">from shell scripts or log files and converts them to </text:span><text:span text:style-name="T334">the </text:span><text:span text:style-name="T354">.config format. </text:span><text:span text:style-name="T334">By default, </text:span><text:span text:style-name="T353">file </text:span><text:span text:style-name="T334">names </text:span><text:span text:style-name="T345">are</text:span><text:span text:style-name="T334"> sorted to allow easier comparisons. With '-d', namelists are </text:span><text:span text:style-name="T335">printed directly, in original order</text:span><text:span text:style-name="T334">. </text:span><text:span text:style-name="T353">Use '-x' when processing log files from shell scripts run with the 'xtrace' or '-x' option.</text:span></text:p> - <text:h text:style-name="P347" text:outline-level="2"><text:bookmark-start text:name="__RefHeading__2534_1114405012"/><text:span text:style-name="T193">F</text:span>ormat of .config files<text:bookmark-end text:name="__RefHeading__2534_1114405012"/></text:h> - <text:p text:style-name="P15">The .config files are simple text files containing a dictionary of variables with their respective values. They may be structured using sections and comments. <text:span text:style-name="T188">For reading these files, </text:span><text:span text:style-name="T12">mkexp</text:span><text:span text:style-name="T188"> uses the </text:span><text:span text:style-name="T12">configobj</text:span><text:span text:style-name="T188"> Python library. All settings found in the .config files are handled as Python variables internally.</text:span></text:p> + <text:p text:style-name="P294">edit<text:span text:style-name="T314">exp</text:span> [<text:span text:style-name="Variable">file</text:span>]</text:p> + <text:p text:style-name="P267">Reads <text:span text:style-name="T313">the</text:span> update script <text:span text:style-name="Variable">file</text:span> ('update' by default) and <text:span text:style-name="T313">launches a program to edit the </text:span>corresponding config file. <text:span text:style-name="T313">The program is taken from the environment variables 'VISUAL' or 'EDITOR' if defined, otherwise </text:span><text:span text:style-name="T42">vi</text:span><text:span text:style-name="T313"> is launched.</text:span></text:p> + <text:p text:style-name="P292"><text:span text:style-name="T312">getconfig</text:span> <text:span text:style-name="T312">[</text:span><text:span text:style-name="Variable">file</text:span><text:span text:style-name="T249">]</text:span></text:p> + <text:p text:style-name="P267">Documentation tool for experiments that were created using command line assignments. Reads <text:span text:style-name="T315">the</text:span> update script <text:span text:style-name="Variable">file</text:span> ('update' by default) and prints the corresponding config file with command line settings from the update script included.</text:p> + <text:p text:style-name="Preformatted_20_List_20_Heading"><text:span text:style-name="T322">setconfig</text:span> <text:span text:style-name="T323">[-d </text:span><text:span text:style-name="Variable"><text:span text:style-name="T323">key</text:span></text:span><text:span text:style-name="T323">] [-H </text:span><text:span text:style-name="Variable"><text:span text:style-name="T323">text</text:span></text:span><text:span text:style-name="T323">] [-a </text:span><text:span text:style-name="Variable"><text:span text:style-name="T324">file</text:span></text:span>.<text:span text:style-name="T324">config] [</text:span><text:span text:style-name="Variable">file</text:span>.<text:span text:style-name="T324">config</text:span><text:span text:style-name="T75"> [</text:span><text:span text:style-name="Variable"><text:span text:style-name="T249">name</text:span></text:span><text:span text:style-name="T75">=</text:span><text:span text:style-name="Variable"><text:span text:style-name="T249">value</text:span></text:span><text:span text:style-name="Variable"><text:span text:style-name="T24"> </text:span></text:span><text:span text:style-name="T24">...</text:span><text:span text:style-name="T75">]</text:span><text:span text:style-name="T124">]</text:span></text:p> + <text:p text:style-name="P269"><text:span text:style-name="T322">Filter tool to alter configuration files via command line. Reads </text:span><text:span text:style-name="Variable"><text:span text:style-name="T322">file</text:span></text:span><text:span text:style-name="T322">.config (standard input by default or if </text:span><text:span text:style-name="Variable"><text:span text:style-name="T322">file</text:span></text:span><text:span text:style-name="T322">.config = '-') and prints the filtered configuration to standard output. Add or alter variables by </text:span><text:span text:style-name="T43">name</text:span><text:span text:style-name="T322">=</text:span><text:span text:style-name="T43">value </text:span><text:span text:style-name="T322">as described before. With '-d' or '--delete', the variable </text:span><text:span text:style-name="Variable"><text:span text:style-name="T322">key</text:span></text:span><text:span text:style-name="T322"> is removed from the configuration. </text:span><text:span text:style-name="T123">With '-H' or '--header', </text:span><text:span text:style-name="Variable"><text:span text:style-name="T323">text</text:span></text:span> <text:span text:style-name="T323">is appended to the configuration's header comment. For files given with '-a' or '--add', all settings are merged with </text:span><text:span text:style-name="Variable"><text:span text:style-name="T322">file</text:span></text:span><text:span text:style-name="T322">.config.</text:span></text:p> + <text:p text:style-name="P300"><text:span text:style-name="T322">se</text:span><text:span text:style-name="T348">l</text:span><text:span text:style-name="T322">config</text:span><text:span text:style-name="T323"> [-</text:span><text:span text:style-name="T227">t</text:span><text:span text:style-name="T323">]</text:span> <text:span text:style-name="T323">[-</text:span><text:span text:style-name="T348">c</text:span><text:span text:style-name="T323">] </text:span><text:span text:style-name="Variable">section</text:span> <text:span text:style-name="T324">[</text:span><text:span text:style-name="Variable">file</text:span>.<text:span text:style-name="T324">config</text:span><text:span text:style-name="T124">]</text:span></text:p> + <text:p text:style-name="P272"><text:span text:style-name="T322">Filter tool to </text:span><text:span text:style-name="T342">extract</text:span><text:span text:style-name="T348"> sections from </text:span><text:span text:style-name="T322">configuration files via command line. Reads </text:span><text:span text:style-name="Variable"><text:span text:style-name="T322">file</text:span></text:span><text:span text:style-name="T322">.config (standard input by default or if </text:span><text:span text:style-name="Variable"><text:span text:style-name="T322">file</text:span></text:span><text:span text:style-name="T322">.config = '-') and prints the filtered configuration to standard output. </text:span><text:span text:style-name="Variable"><text:span text:style-name="T348">section</text:span></text:span><text:span text:style-name="T348"> is specified as described for </text:span><text:span text:style-name="T45">mkexp. </text:span><text:span text:style-name="T322">With '-</text:span><text:span text:style-name="T348">t</text:span><text:span text:style-name="T322">' or '--trailing-space', t</text:span><text:span text:style-name="T348">railing space is </text:span><text:span text:style-name="T322">removed from the </text:span><text:span text:style-name="T348">output lines</text:span><text:span text:style-name="T322">. </text:span><text:span text:style-name="T123">With '-</text:span><text:span text:style-name="T130">c</text:span><text:span text:style-name="T123">' or '--</text:span><text:span text:style-name="T337">inline-comments</text:span><text:span text:style-name="T123">', </text:span><text:span text:style-name="T130">multiple spaces between a variable value and an inline comment are reduced to a single space.</text:span></text:p> + <text:p text:style-name="P299">namelist2config [-d <text:span text:style-name="T331">[-c]</text:span> [-v]<text:span text:style-name="T333">]</text:span></text:p> + <text:p text:style-name="P271">Tries to extract namelist settings from shell scripts or log files and converts them to <text:span text:style-name="T332">the </text:span>.config format. <text:span text:style-name="T332">By default, comments are ignored and names of namelist groups and variables sorted to allow easier comparisons. With '-d', namelists are </text:span><text:span text:style-name="T333">printed directly, in original order</text:span><text:span text:style-name="T332">. </text:span><text:span text:style-name="T333">In this mode, </text:span><text:span text:style-name="T332">'-c' enables comments, '-v' will output non-namelist lines from input files as comments, prefixed with '###'.</text:span></text:p> + <text:p text:style-name="P301"><text:span text:style-name="T228">files</text:span><text:span text:style-name="T347">2config [-d</text:span><text:span text:style-name="T349">]</text:span><text:span text:style-name="T347"> </text:span><text:span text:style-name="T331">[-</text:span><text:span text:style-name="T349">x</text:span><text:span text:style-name="T331">]</text:span></text:p> + <text:p text:style-name="P273"><text:soft-page-break/><text:span text:style-name="T350">Tries to extract </text:span><text:span text:style-name="T349">input file operations </text:span><text:span text:style-name="T350">from shell scripts or log files and converts them to </text:span><text:span text:style-name="T332">the </text:span><text:span text:style-name="T350">.config format. </text:span><text:span text:style-name="T332">By default, </text:span><text:span text:style-name="T349">file </text:span><text:span text:style-name="T332">names </text:span><text:span text:style-name="T341">are</text:span><text:span text:style-name="T332"> sorted to allow easier comparisons. With '-d', namelists are </text:span><text:span text:style-name="T333">printed directly, in original order</text:span><text:span text:style-name="T332">. </text:span><text:span text:style-name="T349">Use '-x' when processing log files from shell scripts run with the 'xtrace' or '-x' option.</text:span></text:p> + <text:h text:style-name="P347" text:outline-level="2"><text:bookmark-start text:name="__RefHeading__2534_1114405012"/><text:span text:style-name="T191">F</text:span>ormat of .config files<text:bookmark-end text:name="__RefHeading__2534_1114405012"/></text:h> + <text:p text:style-name="P15">The .config files are simple text files containing a dictionary of variables with their respective values. They may be structured using sections and comments. <text:span text:style-name="T186">For reading these files, </text:span><text:span text:style-name="T12">mkexp</text:span><text:span text:style-name="T186"> uses the </text:span><text:span text:style-name="T12">configobj</text:span><text:span text:style-name="T186"> Python library. All settings found in the .config files are handled as Python variables internally.</text:span></text:p> <text:h text:style-name="Heading_20_3" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__1669_1438093122"/>Variables<text:bookmark-end text:name="__RefHeading__1669_1438093122"/></text:h> - <text:p text:style-name="P18">A <text:span text:style-name="T189">configuration variable is set by simply assigning a text value to a name, as in</text:span></text:p> + <text:p text:style-name="P18">A <text:span text:style-name="T187">configuration variable is set by simply assigning a text value to a name, as in</text:span></text:p> <text:p text:style-name="Preformatted_20_Text">NAME = Joe User</text:p> - <text:p text:style-name="P19">Note that <text:span text:style-name="T190">spaces before and after the 'equals' sign are always ignored. The value starts with the first non-space character. Spaces and additional equals after this are part of the value. In the case above, the variable NAME is set to 'Joe User'. To include leading spaces, you may enclose the actual value in single or double quote characters as in</text:span></text:p> + <text:p text:style-name="P19">Note that <text:span text:style-name="T188">spaces before and after the 'equals' sign are always ignored. The value starts with the first non-space character. Spaces and additional equals after this are part of the value. In the case above, the variable NAME is set to 'Joe User'. To include leading spaces, you may enclose the actual value in single or double quote characters as in</text:span></text:p> <text:p text:style-name="Preformatted_20_Text">SEPARATOR = ' <text:s text:c="7"/>'</text:p> <text:p text:style-name="P20">Comma separated values are taken to be a list of string values. Thus</text:p> <text:p text:style-name="Preformatted_20_Text">PATH = /bin, /usr/bin, /usr/local/bin</text:p> @@ -3063,19 +3002,19 @@ <text:p text:style-name="P146">[section1]</text:p> <text:p text:style-name="P146"><text:s text:c="4"/>description = This is the first section</text:p> <text:p text:style-name="P22">will be stored as a dictionary section1 with section1['description'] set to 'This is the first section'.</text:p> - <text:p text:style-name="P22">Sections may be nested to arbitrary depth by incrementing the number of bracket pairs <text:span text:style-name="T191">as in</text:span></text:p> + <text:p text:style-name="P22">Sections may be nested to arbitrary depth by incrementing the number of bracket pairs <text:span text:style-name="T189">as in</text:span></text:p> <text:p text:style-name="Preformatted_20_Text">[section1]</text:p> <text:p text:style-name="Preformatted_20_Text"><text:s text:c="4"/>description = This is the first section</text:p> <text:p text:style-name="Preformatted_20_Text"><text:soft-page-break/><text:s text:c="4"/>[[subsection1a]]</text:p> <text:p text:style-name="Preformatted_20_Text"><text:s text:c="8"/>description = This is the first sub section of the first section</text:p> - <text:p text:style-name="P141"><text:s text:c="4"/>[[subsection1<text:span text:style-name="T191">b</text:span>]]</text:p> - <text:p text:style-name="P141"><text:s text:c="8"/>description = This is the <text:span text:style-name="T191">second</text:span> sub section of the first section</text:p> + <text:p text:style-name="P141"><text:s text:c="4"/>[[subsection1<text:span text:style-name="T189">b</text:span>]]</text:p> + <text:p text:style-name="P141"><text:s text:c="8"/>description = This is the <text:span text:style-name="T189">second</text:span> sub section of the first section</text:p> <text:p text:style-name="P140">[section2]</text:p> <text:p text:style-name="P140"><text:s text:c="4"/>description = This is the second section </text:p> - <text:p text:style-name="P23"><text:span text:style-name="T252">A s</text:span>ection <text:span text:style-name="T252">is</text:span> closed by the beginning of a new section of the same level, by a section <text:span text:style-name="T252">of </text:span>l<text:span text:style-name="T252">ower</text:span> <text:span text:style-name="T252">nesting </text:span>depth, <text:span text:style-name="T252">or the end of the .config file</text:span>. Thus, section1 will contain 'description' and two dictionaries 'subsection1' and 'subsection2', each of those containing their own 'description'. 'section2' then is a top-level dictionary, again with its own 'description' variable.</text:p> - <text:p text:style-name="P23">Note that indentation may be used to make the file more legible but is completely ignored when the file is loaded. The number of brackets is the only way to define the level of a section. This means that all variables in a section must be defined before any subsections. Otherwise, the variable <text:s/>would be<text:span text:style-name="T192">long</text:span> to the respective subsection.</text:p> + <text:p text:style-name="P23"><text:span text:style-name="T250">A s</text:span>ection <text:span text:style-name="T250">is</text:span> closed by the beginning of a new section of the same level, by a section <text:span text:style-name="T250">of </text:span>l<text:span text:style-name="T250">ower</text:span> <text:span text:style-name="T250">nesting </text:span>depth, <text:span text:style-name="T250">or the end of the .config file</text:span>. Thus, section1 will contain 'description' and two dictionaries 'subsection1' and 'subsection2', each of those containing their own 'description'. 'section2' then is a top-level dictionary, again with its own 'description' variable.</text:p> + <text:p text:style-name="P23">Note that indentation may be used to make the file more legible but is completely ignored when the file is loaded. The number of brackets is the only way to define the level of a section. This means that all variables in a section must be defined before any subsections. Otherwise, the variable <text:s/>would be<text:span text:style-name="T190">long</text:span> to the respective subsection.</text:p> <text:p text:style-name="P22">Fortran scholars will also want to note that names are case-sensitive, i.e. the variable 'NAME' is quite different from 'name'. Usually, setups use upper-case names for global variables and lower-case names for sections and their variables.</text:p> - <text:h text:style-name="Heading_20_3" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2538_1114405012"/>Special <text:span text:style-name="T244">v</text:span>ariables <text:span text:style-name="T244">and sections</text:span><text:bookmark-end text:name="__RefHeading__2538_1114405012"/></text:h> + <text:h text:style-name="Heading_20_3" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2538_1114405012"/>Special <text:span text:style-name="T242">v</text:span>ariables <text:span text:style-name="T242">and sections</text:span><text:bookmark-end text:name="__RefHeading__2538_1114405012"/></text:h> <text:p text:style-name="P39"><text:span text:style-name="T56">There are a number of special variables that influence the way </text:span>mkexp<text:span text:style-name="T56"> works. They must be present in one of the .config files, unless noted otherwise below. </text:span><text:span text:style-name="T60">They are listed here for a first overview. Their exact meaning is explained in more detail in the upcoming sections.</text:span></text:p> <text:p text:style-name="P40"><text:span text:style-name="T60">T</text:span><text:span text:style-name="T56">he first set of variables is usually defined in the model setup:</text:span></text:p> <text:p text:style-name="P204">SCRIPT_DIR</text:p> @@ -3085,9 +3024,9 @@ <text:p text:style-name="P206">DATA_DIR</text:p> <text:p text:style-name="P221">Directory for storing output data. When a model run finishes, output will be stored there for further processing. Will also be created when non-existent.</text:p> <text:p text:style-name="P210">VERSION_</text:p> - <text:p text:style-name="P228">Each .config file in the model setup <text:span text:style-name="T282">should</text:span> set this variable to a suitable value, e.g. version control information. The values are collected in a variable 'VERSIONS_' which is usually written to the resulting job descriptions.</text:p> + <text:p text:style-name="P228">Each .config file in the model setup <text:span text:style-name="T280">should</text:span> set this variable to a suitable value, e.g. version control information. The values are collected in a variable 'VERSIONS_' which is usually written to the resulting job descriptions.</text:p> <text:p text:style-name="P211">SETUP_OPTIONS (<text:span text:style-name="T9">optional</text:span>)</text:p> - <text:p text:style-name="P225">Subset of the model's standard options that should be applied to <text:span text:style-name="T291">all</text:span> experiment<text:span text:style-name="T291">s using the same model version</text:span>. </text:p> + <text:p text:style-name="P225">Subset of the model's standard options that should be applied to <text:span text:style-name="T289">all</text:span> experiment<text:span text:style-name="T289">s using the same model version</text:span>. </text:p> <text:p text:style-name="P41">There is a second set of variables that belongs in the user setup:</text:p> <text:p text:style-name="P208"><text:soft-page-break/>EXP_TYPE</text:p> <text:p text:style-name="P223">Selects one of the standard experiments that are pre-defined in the model setup as basis of the current experiment definition.</text:p> @@ -3097,8 +3036,8 @@ <text:p text:style-name="P224">Subset of the model's standard options that should be applied to the current experiment definition.</text:p> <text:p text:style-name="P215">EXP_ID (<text:span text:style-name="T9">optional</text:span>)</text:p> <text:p text:style-name="P237">Name of the experiment to be created. If not set, this will be set to the base name of the user's .config file, e.g. 'joe1234' in the introductory example. All job description files will carry this as the first part of their name. For almost all model setups, this will be used in the definitions of SCRIPT_DIR, WORK_DIR, and DATA_DIR.</text:p> - <text:p text:style-name="P203">EXP_DESCRIPTION <text:span text:style-name="T217">(</text:span><text:span text:style-name="T16">optional</text:span><text:span text:style-name="T217">)</text:span></text:p> - <text:p text:style-name="P222">Extensive description of the experiment to be created. If not set, this will contain all text in the header comment of the user's .config file. The leading comment characters, <text:span text:style-name="T311">as well as </text:span>leading and trailing empty lines <text:span text:style-name="T311">or comment boilerplate </text:span>are removed. Note that <text:span text:style-name="T268">both header comment and </text:span>EXP_DESCRIPTION may reference any other global variable defined in the experiment configuration <text:span text:style-name="T268">(see section </text:span><text:span text:style-name="T268"><text:bookmark-ref text:reference-format="chapter" text:ref-name="__RefHeading__2540_1114405012">2.3.4</text:bookmark-ref></text:span><text:span text:style-name="T268">)</text:span>.</text:p> + <text:p text:style-name="P203">EXP_DESCRIPTION <text:span text:style-name="T215">(</text:span><text:span text:style-name="T16">optional</text:span><text:span text:style-name="T215">)</text:span></text:p> + <text:p text:style-name="P222">Extensive description of the experiment to be created. If not set, this will contain all text in the header comment of the user's .config file. The leading comment characters, <text:span text:style-name="T309">as well as </text:span>leading and trailing empty lines <text:span text:style-name="T309">or comment boilerplate </text:span>are removed. Note that <text:span text:style-name="T266">both header comment and </text:span>EXP_DESCRIPTION may reference any other global variable defined in the experiment configuration <text:span text:style-name="T266">(see section </text:span><text:span text:style-name="T266"><text:bookmark-ref text:reference-format="chapter" text:ref-name="__RefHeading__2540_1114405012">2.3.4</text:bookmark-ref></text:span><text:span text:style-name="T266">)</text:span>.</text:p> <text:p text:style-name="P222">The contents of this variable is written to a 'README' file in SCRIPT_DIR.</text:p> <text:p text:style-name="P38"><text:span text:style-name="T56">Another set of variables is automatically added to the job specific experiment configuration. </text:span><text:span text:style-name="T71">These are considered read-only</text:span><text:span text:style-name="T56"> </text:span><text:span text:style-name="T64">and may not be altered</text:span><text:span text:style-name="T56">.</text:span></text:p> <text:p text:style-name="P202">JOB</text:p> @@ -3113,14 +3052,14 @@ <text:p text:style-name="List_20_Heading">[jobs]</text:p> <text:p text:style-name="P238">This section defines the job description set needed for an experiment. It also provides job specific settings. Details are given in section <text:bookmark-ref text:reference-format="chapter" text:ref-name="__RefHeading__1508_1711940803">2.7</text:bookmark-ref>, '<text:bookmark-ref text:reference-format="text" text:ref-name="__RefHeading__1508_1711940803">Generating jobs</text:bookmark-ref>'.</text:p> <text:p text:style-name="List_20_Heading">[namelists]</text:p> - <text:p text:style-name="P238">Information that is contained in model configuration or namelist files is set in this section. For further details see section <text:bookmark-ref text:reference-format="chapter" text:ref-name="__RefHeading__1883_1672291846">2.9</text:bookmark-ref>, <text:span text:style-name="T257">'</text:span><text:span text:style-name="T257"><text:bookmark-ref text:reference-format="text" text:ref-name="__RefHeading__1883_1672291846">Defining namelists and other configuration files</text:bookmark-ref></text:span><text:span text:style-name="T257">'.</text:span></text:p> + <text:p text:style-name="P238">Information that is contained in model configuration or namelist files is set in this section. For further details see section <text:bookmark-ref text:reference-format="chapter" text:ref-name="__RefHeading__1883_1672291846">2.9</text:bookmark-ref>, <text:span text:style-name="T255">'</text:span><text:span text:style-name="T255"><text:bookmark-ref text:reference-format="text" text:ref-name="__RefHeading__1883_1672291846">Defining namelists and other configuration files</text:bookmark-ref></text:span><text:span text:style-name="T255">'.</text:span></text:p> <text:p text:style-name="P217">[files]</text:p> - <text:p text:style-name="P252">All input files that are needed for an experiment and <text:span text:style-name="T279">information</text:span> to provide them go into this section. <text:span text:style-name="T279">See section </text:span><text:span text:style-name="T279"><text:bookmark-ref text:reference-format="chapter" text:ref-name="__RefHeading__2831_1132221942">2.10</text:bookmark-ref></text:span><text:span text:style-name="T279">, '</text:span><text:span text:style-name="T279"><text:bookmark-ref text:reference-format="text" text:ref-name="__RefHeading__2831_1132221942">Defining input files for an experiment</text:bookmark-ref></text:span><text:span text:style-name="T279">'.</text:span></text:p> + <text:p text:style-name="P252">All input files that are needed for an experiment and <text:span text:style-name="T277">information</text:span> to provide them go into this section. <text:span text:style-name="T277">See section </text:span><text:span text:style-name="T277"><text:bookmark-ref text:reference-format="chapter" text:ref-name="__RefHeading__2831_1132221942">2.10</text:bookmark-ref></text:span><text:span text:style-name="T277">, '</text:span><text:span text:style-name="T277"><text:bookmark-ref text:reference-format="text" text:ref-name="__RefHeading__2831_1132221942">Defining input files for an experiment</text:bookmark-ref></text:span><text:span text:style-name="T277">'.</text:span></text:p> <text:h text:style-name="Heading_20_3" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2540_1114405012"/><text:soft-page-break/>Variable interpolation<text:bookmark-end text:name="__RefHeading__2540_1114405012"/></text:h> - <text:p text:style-name="P76">The value of a .config variable may reference the value of another variable by prefixing its name with <text:span text:style-name="T258">a </text:span>dollar sign. <text:span text:style-name="T258">This is called </text:span><text:span text:style-name="T26">interpolation</text:span><text:span text:style-name="T82"> of variables. E.g.</text:span></text:p> + <text:p text:style-name="P76">The value of a .config variable may reference the value of another variable by prefixing its name with <text:span text:style-name="T256">a </text:span>dollar sign. <text:span text:style-name="T256">This is called </text:span><text:span text:style-name="T26">interpolation</text:span><text:span text:style-name="T82"> of variables. E.g.</text:span></text:p> <text:p text:style-name="P178"># joe1234.config</text:p> <text:p text:style-name="P184">WORK_ROOT = /scratch/joe</text:p> - <text:p text:style-name="Preformatted_20_Text">WORK_DIR = $WORK_ROOT/experiments/<text:span text:style-name="T259">$EXP_ID</text:span></text:p> + <text:p text:style-name="Preformatted_20_Text">WORK_DIR = $WORK_ROOT/experiments/<text:span text:style-name="T257">$EXP_ID</text:span></text:p> <text:p text:style-name="P78">will set 'WORK_DIR' to '/scratch/joe/experiments/joe1234'.</text:p> <text:p text:style-name="P77">Interpolation only works for variables of the current section or its ancestor sections.</text:p> <text:p text:style-name="Preformatted_20_Text">[ensembles] </text:p> @@ -3131,141 +3070,141 @@ <text:p text:style-name="P201">Oops: missing option "size" in interpolation while reading key 'ensemble_size'</text:p> <text:p text:style-name="P77">because 'size' is not defined in 'jobs', nor on the global level.</text:p> <text:p text:style-name="P79">As in shell scripts, the variable name must be enclosed in braces if the interpolation continues with a word character (alphanumerical or underscore), or if the variable name contains a space (which is perfectly legal):</text:p> - <text:p text:style-name="Preformatted_20_Text">WORK_DIR = /tmp/$EXP_ID_test <text:s text:c="3"/><text:span text:style-name="T259"># ERROR: missing option "EXP_ID_test"</text:span></text:p> - <text:p text:style-name="P179"><text:span text:style-name="T259">WORK_DIR = /tmp/</text:span><text:span text:style-name="T177">${EXP_ID}_test</text:span><text:span text:style-name="T259"> <text:s/># OK</text:span></text:p> + <text:p text:style-name="Preformatted_20_Text">WORK_DIR = /tmp/$EXP_ID_test <text:s text:c="3"/><text:span text:style-name="T257"># ERROR: missing option "EXP_ID_test"</text:span></text:p> + <text:p text:style-name="P179"><text:span text:style-name="T257">WORK_DIR = /tmp/</text:span><text:span text:style-name="T175">${EXP_ID}_test</text:span><text:span text:style-name="T257"> <text:s/># OK</text:span></text:p> <text:p text:style-name="P178"/> - <text:p text:style-name="P178">SPACY <text:span text:style-name="T260">VAR</text:span> = Whew! </text:p> - <text:p text:style-name="P178"><text:span text:style-name="T260">MESSAGE</text:span> = He said: $SPACY VAR <text:s text:c="2"/><text:span text:style-name="T260"># ERROR: missing option </text:span>"<text:span text:style-name="T260">SPACY</text:span>"</text:p> - <text:p text:style-name="P180">MESSAGE = <text:span text:style-name="T259">He said: </text:span><text:span text:style-name="T177">$</text:span><text:span text:style-name="T170">{</text:span><text:span text:style-name="T177">SPACY VAR</text:span><text:span text:style-name="T170">}</text:span> # OK</text:p> - <text:p text:style-name="P79">The user<text:span text:style-name="T269">'</text:span>s <text:span text:style-name="T9">environment variables</text:span> may be referenced as global variables in a .config file. Thus a user may write something like</text:p> + <text:p text:style-name="P178">SPACY <text:span text:style-name="T258">VAR</text:span> = Whew! </text:p> + <text:p text:style-name="P178"><text:span text:style-name="T258">MESSAGE</text:span> = He said: $SPACY VAR <text:s text:c="2"/><text:span text:style-name="T258"># ERROR: missing option </text:span>"<text:span text:style-name="T258">SPACY</text:span>"</text:p> + <text:p text:style-name="P180">MESSAGE = <text:span text:style-name="T257">He said: </text:span><text:span text:style-name="T175">$</text:span><text:span text:style-name="T168">{</text:span><text:span text:style-name="T175">SPACY VAR</text:span><text:span text:style-name="T168">}</text:span> # OK</text:p> + <text:p text:style-name="P79">The user<text:span text:style-name="T267">'</text:span>s <text:span text:style-name="T9">environment variables</text:span> may be referenced as global variables in a .config file. Thus a user may write something like</text:p> <text:p text:style-name="Preformatted_20_Text">SCRIPT_ROOT = $HOME/experiments/$EXP_ID</text:p> <text:p text:style-name="P79">setting 'SCRIPT_ROOT' to a subdirectory of the user's home directory.</text:p> <text:h text:style-name="Heading_20_3" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2542_1114405012"/>Evaluation of interpolation<text:bookmark-end text:name="__RefHeading__2542_1114405012"/></text:h> <text:p text:style-name="P80">While interpolation looks a lot like in shell scripts, there is a major difference: interpolation is – as in Makefiles – only evaluated when the final value is written or passed on. This has the advantage that the model setup may define settings based on variables that are only defined later in the user setup.</text:p> <text:p text:style-name="P181"># model setup</text:p> - <text:p text:style-name="P303"><text:soft-page-break/><text:span text:style-name="T261">MODEL</text:span>_<text:span text:style-name="T261">DIR</text:span> = $HOME/<text:span text:style-name="T261">$MODEL_SUBDIR</text:span></text:p> + <text:p text:style-name="P303"><text:soft-page-break/><text:span text:style-name="T259">MODEL</text:span>_<text:span text:style-name="T259">DIR</text:span> = $HOME/<text:span text:style-name="T259">$MODEL_SUBDIR</text:span></text:p> <text:p text:style-name="P182"># user setup</text:p> <text:p text:style-name="P182">MODEL_SUBDIR = echam</text:p> - <text:p text:style-name="P81">Here, as the model setup is read before the user setup, 'MODEL_SUBDIR' is not set when 'MODEL_ROOT' is defined. <text:span text:style-name="T262">This works, because i</text:span>nterpolation of 'MODEL_ROOT's value is postponed until all levels of setup have been read.</text:p> + <text:p text:style-name="P81">Here, as the model setup is read before the user setup, 'MODEL_SUBDIR' is not set when 'MODEL_ROOT' is defined. <text:span text:style-name="T260">This works, because i</text:span>nterpolation of 'MODEL_ROOT's value is postponed until all levels of setup have been read.</text:p> <text:p text:style-name="P81">The disadvantage is that there may be no incremental adding of values to a given variable because this would cause circular dependencies. Imagine</text:p> <text:p text:style-name="Preformatted_20_Text">SUBMODELS = $SUBMODELS jsbach</text:p> <text:p text:style-name="P82">When <text:span text:style-name="T9">mkexp</text:span> tries to evaluate 'SUBMODELS', it sees that it needs to do an interpolation; but to do this interpolation, 'SUBMODELS' would need to have been evaluated already! So this results in</text:p> <text:p text:style-name="P201">Oops: interpolation loop detected in value "SUBMODELS" while reading key 'SUBMODELS'</text:p> <text:h text:style-name="Heading_20_3" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2544_1114405012"/>Special expressions<text:bookmark-end text:name="__RefHeading__2544_1114405012"/></text:h> <text:p text:style-name="P83">For some applications, simply including some other variable is not enough. You might want to compute a time limit from a given constant divided by the number of computing nodes, or convert a time stamp to a list of values. For these purposes, <text:span text:style-name="T9">mkexp</text:span><text:span text:style-name="T56"> includes some special expressions, that are evaluated when interpolation occurs.</text:span></text:p> - <text:p text:style-name="P280"><text:span text:style-name="T9">variable</text:span><text:span text:style-name="T56"> = </text:span><text:span text:style-name="T160">eval(</text:span><text:span text:style-name="T9">expression</text:span><text:span text:style-name="T160">)</text:span><text:span text:style-name="T56"><text:line-break/></text:span><text:span text:style-name="T9">variable</text:span><text:span text:style-name="T56"> = </text:span><text:span text:style-name="T160">evals(</text:span><text:span text:style-name="T9">expression</text:span><text:span text:style-name="T160">)</text:span></text:p> - <text:p text:style-name="P276"><text:span text:style-name="T86">I</text:span><text:span text:style-name="T115">nterpret </text:span><text:span text:style-name="T41">expression</text:span><text:span text:style-name="T115"> as a valid Python expression and assign the result to </text:span><text:span text:style-name="T41">variable</text:span><text:span text:style-name="T115"> as a string. </text:span><text:span text:style-name="T114">The modules </text:span><text:span text:style-name="T311">'</text:span>os<text:span text:style-name="T311">'</text:span>, <text:span text:style-name="T311">'</text:span>re<text:span text:style-name="T311">'</text:span> and <text:span text:style-name="T311">'</text:span>time<text:span text:style-name="T311">'</text:span> <text:span text:style-name="T114">may be used in </text:span><text:span text:style-name="T40">expression</text:span><text:span text:style-name="T114">. </text:span><text:span text:style-name="T131">Besides, a </text:span><text:span text:style-name="T340">predicate</text:span><text:span text:style-name="T131"> 'is_set' is available to </text:span><text:span text:style-name="T166">test if a string evaluates to</text:span><text:span text:style-name="T51"> true</text:span><text:span text:style-name="T166"> when used as namelist </text:span><text:span text:style-name="T341">logical, </text:span><text:span text:style-name="T342">r</text:span><text:span text:style-name="T341">eturn</text:span><text:span text:style-name="T342">ing</text:span><text:span text:style-name="T348"> false</text:span><text:span text:style-name="T341"> when used on </text:span><text:span text:style-name="T342">'None'.</text:span></text:p> + <text:p text:style-name="P280"><text:span text:style-name="T9">variable</text:span><text:span text:style-name="T56"> = </text:span><text:span text:style-name="T158">eval(</text:span><text:span text:style-name="T9">expression</text:span><text:span text:style-name="T158">)</text:span><text:span text:style-name="T56"><text:line-break/></text:span><text:span text:style-name="T9">variable</text:span><text:span text:style-name="T56"> = </text:span><text:span text:style-name="T158">evals(</text:span><text:span text:style-name="T9">expression</text:span><text:span text:style-name="T158">)</text:span></text:p> + <text:p text:style-name="P276"><text:span text:style-name="T86">I</text:span><text:span text:style-name="T115">nterpret </text:span><text:span text:style-name="T41">expression</text:span><text:span text:style-name="T115"> as a valid Python expression and assign the result to </text:span><text:span text:style-name="T41">variable</text:span><text:span text:style-name="T115"> as a string. </text:span><text:span text:style-name="T114">The modules </text:span><text:span text:style-name="T309">'</text:span>os<text:span text:style-name="T309">'</text:span>, <text:span text:style-name="T309">'</text:span>re<text:span text:style-name="T309">'</text:span> and <text:span text:style-name="T309">'</text:span>time<text:span text:style-name="T309">'</text:span> <text:span text:style-name="T114">may be used in </text:span><text:span text:style-name="T40">expression</text:span><text:span text:style-name="T114">. </text:span><text:span text:style-name="T131">Besides, a </text:span><text:span text:style-name="T338">predicate</text:span><text:span text:style-name="T131"> 'is_set' is available to </text:span><text:span text:style-name="T164">test if a string evaluates to</text:span><text:span text:style-name="T51"> true</text:span><text:span text:style-name="T164"> when used as namelist </text:span><text:span text:style-name="T339">logical, </text:span><text:span text:style-name="T340">r</text:span><text:span text:style-name="T339">eturn</text:span><text:span text:style-name="T340">ing</text:span><text:span text:style-name="T344"> false</text:span><text:span text:style-name="T339"> when used on </text:span><text:span text:style-name="T340">'None'.</text:span></text:p> <text:p text:style-name="P248"><text:span text:style-name="T56">When the result is a list, </text:span><text:span text:style-name="T9">eval</text:span><text:span text:style-name="T56"> will return a list of strings, while </text:span><text:span text:style-name="T9">evals</text:span><text:span text:style-name="T56"> will return a single string, where elements are joined by a comma and a space.</text:span></text:p> <text:p text:style-name="P247"><text:span text:style-name="T56">Note that interpolation does not work for list values; if you need this, consider to set the original variable </text:span><text:span text:style-name="T83">to a string containing a Python list expression</text:span><text:span text:style-name="T56">, and </text:span><text:span text:style-name="T83">then </text:span><text:span text:style-name="T56">use </text:span><text:span text:style-name="T9">eval</text:span><text:span text:style-name="T56"> </text:span><text:span text:style-name="T96">a</text:span><text:span text:style-name="T56">round the interpolation expression:</text:span></text:p> - <text:p text:style-name="P304">DATE_<text:span text:style-name="T270">STRING</text:span> = '[2010, 10, 20]' # need quotes here!</text:p> - <text:p text:style-name="P304">DATE_<text:span text:style-name="T270">LIST</text:span> = eval($DATE_<text:span text:style-name="T271">STRING</text:span>) # becomes a 3 element list</text:p> - <text:p text:style-name="P281">variable<text:span text:style-name="T56"> = </text:span><text:span text:style-name="T160">read(</text:span>file_name<text:span text:style-name="T160">)</text:span></text:p> + <text:p text:style-name="P304">DATE_<text:span text:style-name="T268">STRING</text:span> = '[2010, 10, 20]' # need quotes here!</text:p> + <text:p text:style-name="P304">DATE_<text:span text:style-name="T268">LIST</text:span> = eval($DATE_<text:span text:style-name="T269">STRING</text:span>) # becomes a 3 element list</text:p> + <text:p text:style-name="P281">variable<text:span text:style-name="T56"> = </text:span><text:span text:style-name="T158">read(</text:span>file_name<text:span text:style-name="T158">)</text:span></text:p> <text:p text:style-name="P241"><text:span text:style-name="T56">Read the contents of the file </text:span>file_name<text:span text:style-name="T56"> and assign its contents to </text:span>variable<text:span text:style-name="T56"> as a string.</text:span></text:p> - <text:p text:style-name="P282"><text:span text:style-name="T27">variable</text:span><text:span text:style-name="T84"> = </text:span><text:span text:style-name="T162">split_date(</text:span><text:span text:style-name="T27">timestamp</text:span><text:span text:style-name="T162">)</text:span></text:p> - <text:p text:style-name="P249"><text:span text:style-name="T263">T</text:span>ake <text:span text:style-name="T9">timestamp</text:span><text:span text:style-name="T56"> and split it into a list of numerical date/time elements. </text:span><text:soft-page-break/><text:span text:style-name="T9">tim</text:span><text:span text:style-name="T28">e</text:span><text:span text:style-name="T9">stamp</text:span><text:span text:style-name="T56"> </text:span><text:span text:style-name="T85">must have </text:span><text:span text:style-name="T56">an ISO-like format (date elements separated by '-'; 'T' or space as date/time separator; time elements separated by ':</text:span><text:span text:style-name="T85">'; </text:span><text:span text:style-name="T56">trailing time elements </text:span><text:span text:style-name="T86">and their separators </text:span><text:span text:style-name="T85">are optional</text:span><text:span text:style-name="T56">; time zone indicator is not supported). </text:span><text:span text:style-name="T98">Unlike ISO, </text:span><text:span text:style-name="T31">split_date</text:span><text:span text:style-name="T98"> also</text:span><text:span text:style-name="T56"> </text:span><text:span text:style-name="T98">allows the date to be in the form YYYYMMDD</text:span><text:span text:style-name="T56">. </text:span><text:span text:style-name="T86">Unset fields default to zero.</text:span></text:p> - <text:p text:style-name="P283"><text:span text:style-name="T9">variable</text:span><text:span text:style-name="T56"> = </text:span><text:span text:style-name="T160">sec2time(</text:span><text:span text:style-name="T9">second_of_day</text:span><text:span text:style-name="T160">)</text:span></text:p> + <text:p text:style-name="P282"><text:span text:style-name="T27">variable</text:span><text:span text:style-name="T84"> = </text:span><text:span text:style-name="T160">split_date(</text:span><text:span text:style-name="T27">timestamp</text:span><text:span text:style-name="T160">)</text:span></text:p> + <text:p text:style-name="P249"><text:span text:style-name="T261">T</text:span>ake <text:span text:style-name="T9">timestamp</text:span><text:span text:style-name="T56"> and split it into a list of numerical date/time elements. </text:span><text:soft-page-break/><text:span text:style-name="T9">tim</text:span><text:span text:style-name="T28">e</text:span><text:span text:style-name="T9">stamp</text:span><text:span text:style-name="T56"> </text:span><text:span text:style-name="T85">must have </text:span><text:span text:style-name="T56">an ISO-like format (date elements separated by '-'; 'T' or space as date/time separator; time elements separated by ':</text:span><text:span text:style-name="T85">'; </text:span><text:span text:style-name="T56">trailing time elements </text:span><text:span text:style-name="T86">and their separators </text:span><text:span text:style-name="T85">are optional</text:span><text:span text:style-name="T56">; time zone indicator is not supported). </text:span><text:span text:style-name="T98">Unlike ISO, </text:span><text:span text:style-name="T31">split_date</text:span><text:span text:style-name="T98"> also</text:span><text:span text:style-name="T56"> </text:span><text:span text:style-name="T98">allows the date to be in the form YYYYMMDD</text:span><text:span text:style-name="T56">. </text:span><text:span text:style-name="T86">Unset fields default to zero.</text:span></text:p> + <text:p text:style-name="P283"><text:span text:style-name="T9">variable</text:span><text:span text:style-name="T56"> = </text:span><text:span text:style-name="T158">sec2time(</text:span><text:span text:style-name="T9">second_of_day</text:span><text:span text:style-name="T158">)</text:span></text:p> <text:p text:style-name="P233">Take integer <text:span text:style-name="T9">second_of_day</text:span> (from 0 to 86399) and return the corresponding time stamp as string of the form HH:MM:SS.</text:p> - <text:p text:style-name="P284"><text:span text:style-name="T9">variable</text:span> = '<text:span text:style-name="T170">add_years</text:span>(<text:span text:style-name="T9">datestamp</text:span>, <text:span text:style-name="T9">offset</text:span>)'</text:p> + <text:p text:style-name="P284"><text:span text:style-name="T9">variable</text:span> = '<text:span text:style-name="T168">add_years</text:span>(<text:span text:style-name="T9">datestamp</text:span>, <text:span text:style-name="T9">offset</text:span>)'</text:p> <text:p text:style-name="P250">Take integer <text:span text:style-name="T9">offset</text:span><text:span text:style-name="T56"> (may be negative), add it to the year portion of </text:span><text:span text:style-name="T9">datestamp</text:span><text:span text:style-name="T56"> and return the resulting date string.</text:span></text:p> - <text:p text:style-name="P285"><text:span text:style-name="T9">variable</text:span> = '<text:span text:style-name="T170">add_</text:span><text:span text:style-name="T178">days</text:span>(<text:span text:style-name="T9">datestamp</text:span>, <text:span text:style-name="T9">offset</text:span>)'</text:p> + <text:p text:style-name="P285"><text:span text:style-name="T9">variable</text:span> = '<text:span text:style-name="T168">add_</text:span><text:span text:style-name="T176">days</text:span>(<text:span text:style-name="T9">datestamp</text:span>, <text:span text:style-name="T9">offset</text:span>)'</text:p> <text:p text:style-name="P251"><text:span text:style-name="T56">Take integer </text:span><text:span text:style-name="T9">offset</text:span><text:span text:style-name="T56"> (may be negative), add it to the </text:span><text:span text:style-name="T99">day</text:span><text:span text:style-name="T56"> portion of </text:span><text:span text:style-name="T9">datestamp</text:span><text:span text:style-name="T56"> and return the resulting date string. </text:span><text:span text:style-name="T99">Year and month portions will be set as appropriate, assuming a Proleptic Gregorian calendar with year 0.</text:span></text:p> <text:h text:style-name="Heading_20_2" text:outline-level="2"><text:bookmark-start text:name="__RefHeading__2546_1114405012"/>Format of .tmpl files<text:bookmark-end text:name="__RefHeading__2546_1114405012"/></text:h> <text:p text:style-name="P24">The .tmpl files are also text files mostly written in the syntax of the job description that <text:span text:style-name="T9">mkexp</text:span> is meant to create. Currently this is usually the ksh or bash shell script syntax, but may also be any other interpreted language, like Perl or Python, or even a configuration or namelist file. The main difference are placeholders and structured comments that are embedded in the program text. These are evaluated or expanded using the information that comes with the .config files, to create the final text files, defining the jobs to be run on the target system.</text:p> <text:p text:style-name="P24">The expansion of .tmpl files into the job description uses the <text:span text:style-name="T9">Jinja</text:span> Python library. It provides a default set of facilities that can be used to expand any textual template. The proposed default syntax was slightly customized to fit the needs of <text:span text:style-name="T9">mkexp</text:span>.</text:p> <text:h text:style-name="Heading_20_3" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2548_1114405012"/>Placeholders<text:bookmark-end text:name="__RefHeading__2548_1114405012"/></text:h> - <text:p text:style-name="P25">The simplest interaction in a template is replacing a template's placeholder by a value from a .config file. <text:span text:style-name="T194">Any name enclosed by '%{' and '}' is taken to be a configuration variable, like in the snippets below:</text:span></text:p> + <text:p text:style-name="P25">The simplest interaction in a template is replacing a template's placeholder by a value from a .config file. <text:span text:style-name="T192">Any name enclosed by '%{' and '}' is taken to be a configuration variable, like in the snippets below:</text:span></text:p> <text:p text:style-name="Preformatted_20_Text">#! /bin/ksh</text:p> - <text:p text:style-name="Preformatted_20_Text"><text:span text:style-name="T195">#</text:span> This script was <text:span text:style-name="T195">crea</text:span>ted by %{NAME}</text:p> - <text:p text:style-name="P33">Here, the placehol<text:span text:style-name="T253">d</text:span>er requests the 'NAME' variable which was set to 'Joe User' in the example .config file <text:span text:style-name="T253">of section </text:span><text:span text:style-name="T253"><text:bookmark-ref text:reference-format="chapter" text:ref-name="__RefHeading__1669_1438093122">2.3.1</text:bookmark-ref></text:span>. This value is now looked up in the <text:span text:style-name="T253">configuration</text:span> and used to textually replace the placeholder expression, yield<text:span text:style-name="T253">ing</text:span> the final text:</text:p> + <text:p text:style-name="Preformatted_20_Text"><text:span text:style-name="T193">#</text:span> This script was <text:span text:style-name="T193">crea</text:span>ted by %{NAME}</text:p> + <text:p text:style-name="P33">Here, the placehol<text:span text:style-name="T251">d</text:span>er requests the 'NAME' variable which was set to 'Joe User' in the example .config file <text:span text:style-name="T251">of section </text:span><text:span text:style-name="T251"><text:bookmark-ref text:reference-format="chapter" text:ref-name="__RefHeading__1669_1438093122">2.3.1</text:bookmark-ref></text:span>. This value is now looked up in the <text:span text:style-name="T251">configuration</text:span> and used to textually replace the placeholder expression, yield<text:span text:style-name="T251">ing</text:span> the final text:</text:p> <text:p text:style-name="P143">#! /bin/ksh</text:p> - <text:p text:style-name="P142"><text:span text:style-name="T196"># </text:span>This script was <text:span text:style-name="T196">crea</text:span>ted by <text:span text:style-name="T194">Joe User</text:span></text:p> - <text:h text:style-name="Heading_20_3" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2550_1114405012"/><text:soft-page-break/><text:span text:style-name="T198">V</text:span>ariables in sections<text:bookmark-end text:name="__RefHeading__2550_1114405012"/></text:h> + <text:p text:style-name="P142"><text:span text:style-name="T194"># </text:span>This script was <text:span text:style-name="T194">crea</text:span>ted by <text:span text:style-name="T192">Joe User</text:span></text:p> + <text:h text:style-name="Heading_20_3" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2550_1114405012"/><text:soft-page-break/><text:span text:style-name="T196">V</text:span>ariables in sections<text:bookmark-end text:name="__RefHeading__2550_1114405012"/></text:h> <text:p text:style-name="P26">To request a variable within a section, simply prepend the section name to the variable name, using '.' as separator, as in</text:p> <text:p text:style-name="Preformatted_20_Text"># %{section1.description}</text:p> <text:p text:style-name="P26">This is also used for nested sections:</text:p> - <text:p text:style-name="Preformatted_20_Text"># %{section1.s<text:span text:style-name="T196">ubs</text:span>ection1a.description}</text:p> - <text:p text:style-name="P27">For section names that contain a '.' or spaces (like 'namelist.echam' in the introductory example), instead of the '.' separator, the section name is given as a quoted string in brackets (similar to <text:span text:style-name="T253">Python's dictionary</text:span> syntax):</text:p> + <text:p text:style-name="Preformatted_20_Text"># %{section1.s<text:span text:style-name="T194">ubs</text:span>ection1a.description}</text:p> + <text:p text:style-name="P27">For section names that contain a '.' or spaces (like 'namelist.echam' in the introductory example), instead of the '.' separator, the section name is given as a quoted string in brackets (similar to <text:span text:style-name="T251">Python's dictionary</text:span> syntax):</text:p> <text:p text:style-name="P201">IS_AMIP_RUN=%{namelists['namelist.echam'].runctl.lamip}</text:p> <text:h text:style-name="Heading_20_3" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2552_1114405012"/>Expressions<text:bookmark-end text:name="__RefHeading__2552_1114405012"/></text:h> - <text:p text:style-name="P26">The placeholders may <text:span text:style-name="T197">also contain more complex expressions, using a limited set of operations that is defined in the </text:span><text:span text:style-name="T13">Jinja</text:span><text:span text:style-name="T197"> documentation. Among these are</text:span></text:p> + <text:p text:style-name="P26">The placeholders may <text:span text:style-name="T195">also contain more complex expressions, using a limited set of operations that is defined in the </text:span><text:span text:style-name="T13">Jinja</text:span><text:span text:style-name="T195"> documentation. Among these are</text:span></text:p> <text:p text:style-name="Preformatted_20_Text">LITERAL_STRING=%{'hello'}</text:p> <text:p text:style-name="Preformatted_20_Text">LITERAL_INTEGER=%{42}</text:p> <text:p text:style-name="Preformatted_20_Text">LITERAL_FLOAT=%{21.5}</text:p> <text:p text:style-name="Preformatted_20_Text">LITERAL_LIST=%{['hello', 42, 21.5]}</text:p> <text:p text:style-name="Preformatted_20_Text">LITERAL_BOOLEANS=%{false} <text:s/># Always lower-case!</text:p> <text:p text:style-name="Preformatted_20_Text">ARITHMETIC=%{2 + 2 * 2 – 2 / 2} <text:s/># is 5</text:p> - <text:p text:style-name="Preformatted_20_Text">STRING_TOGETHER=%{NAME ~ ', employee number ' ~ 42} <text:s/># Converts <text:span text:style-name="T198">42</text:span> to string</text:p> + <text:p text:style-name="Preformatted_20_Text">STRING_TOGETHER=%{NAME ~ ', employee number ' ~ 42} <text:s/># Converts <text:span text:style-name="T196">42</text:span> to string</text:p> <text:p text:style-name="P145">LIST_ELEMENT=%{PATH[0]} <text:s/># indices start with 0</text:p> <text:p text:style-name="P145">LIST_SUBLIST=%{PATH[1:3]}</text:p> - <text:p text:style-name="Preformatted_20_Text">FILTERED_STRING=%{NAME | <text:span text:style-name="T198">lower()} <text:s/># is 'joe user'</text:span></text:p> - <text:p text:style-name="P96">The last example allows for <text:span text:style-name="T216">a </text:span>number of predefined filters instead of 'lower'. These are described in the <text:span text:style-name="T9">Jinja</text:span> documentation (List of Builtin Filters). <text:span text:style-name="T286">Besides, </text:span><text:span text:style-name="T9">mkexp</text:span> defines <text:s/><text:span text:style-name="T289">a number of </text:span>additional filters:</text:p> - <text:p text:style-name="P286">split<text:span text:style-name="T204">(</text:span><text:span text:style-name="T49">s</text:span><text:span text:style-name="T52">=none</text:span><text:span text:style-name="T163">, </text:span><text:span text:style-name="T49">m</text:span><text:span text:style-name="T163">=-1)</text:span></text:p> - <text:p text:style-name="P234">cuts <text:span text:style-name="T288">the input </text:span>string <text:span text:style-name="T288">at all occurrences of </text:span><text:span text:style-name="T34">s</text:span><text:span text:style-name="T288">, returning</text:span> a list of substrings. <text:span text:style-name="T359">If </text:span><text:span text:style-name="Variable"><text:span text:style-name="T359">s </text:span></text:span><text:span text:style-name="T360">is</text:span><text:span text:style-name="Variable"><text:span text:style-name="T360"> none</text:span></text:span><text:span text:style-name="T359">, substrings are delimited by white space. </text:span><text:span text:style-name="T287">If </text:span><text:span text:style-name="T33">m</text:span><text:span text:style-name="T287"> is positive or zero, it cuts only at the first </text:span><text:span text:style-name="T33">m</text:span><text:span text:style-name="T287"> occurrences; the last element contains the remaining substring:</text:span></text:p> - <text:p text:style-name="P311">%{ 'A<text:span text:style-name="T363">·</text:span>B<text:span text:style-name="T363">··</text:span>C' | <text:span text:style-name="T170">split</text:span><text:span text:style-name="T204">('</text:span><text:span text:style-name="T364">·</text:span><text:span text:style-name="T204">') }<text:tab/><text:tab/>→</text:span><text:span text:style-name="T207"> </text:span><text:span text:style-name="T206">['A', 'B', </text:span><text:span text:style-name="T213">'', </text:span><text:span text:style-name="T206">'C']</text:span></text:p> - <text:p text:style-name="P311">%{ 'A<text:span text:style-name="T363">·</text:span>B<text:span text:style-name="T363">··</text:span>C' | <text:span text:style-name="T204">split</text:span><text:span text:style-name="T170">()</text:span><text:span text:style-name="T204"> }<text:tab/><text:tab/>→</text:span><text:span text:style-name="T207"> </text:span><text:span text:style-name="T206">['A', 'B',</text:span><text:span text:style-name="T213"> </text:span><text:span text:style-name="T206">'C']</text:span></text:p> - <text:p text:style-name="P311"><text:span text:style-name="T206">%{ 'A</text:span><text:span text:style-name="T366">·</text:span><text:span text:style-name="T206">B</text:span><text:span text:style-name="T365">··</text:span><text:span text:style-name="T206">C' | split('</text:span><text:span text:style-name="T365">·</text:span><text:span text:style-name="T206">', </text:span><text:span text:style-name="T180">1</text:span><text:span text:style-name="T206">) } <text:tab/></text:span><text:span text:style-name="T207">→ </text:span><text:span text:style-name="T206">['A', </text:span><text:span text:style-name="T180">'B</text:span><text:span text:style-name="T367">··</text:span><text:span text:style-name="T180">C'</text:span><text:span text:style-name="T206">]</text:span></text:p> + <text:p text:style-name="Preformatted_20_Text">FILTERED_STRING=%{NAME | <text:span text:style-name="T196">lower()} <text:s/># is 'joe user'</text:span></text:p> + <text:p text:style-name="P96">The last example allows for <text:span text:style-name="T214">a </text:span>number of predefined filters instead of 'lower'. These are described in the <text:span text:style-name="T9">Jinja</text:span> documentation (List of Builtin Filters). <text:span text:style-name="T284">Besides, </text:span><text:span text:style-name="T9">mkexp</text:span> defines <text:s/><text:span text:style-name="T287">a number of </text:span>additional filters:</text:p> + <text:p text:style-name="P286">split<text:span text:style-name="T202">(</text:span><text:span text:style-name="T49">s</text:span><text:span text:style-name="T52">=none</text:span><text:span text:style-name="T161">, </text:span><text:span text:style-name="T49">m</text:span><text:span text:style-name="T161">=-1)</text:span></text:p> + <text:p text:style-name="P234">cuts <text:span text:style-name="T286">the input </text:span>string <text:span text:style-name="T286">at all occurrences of </text:span><text:span text:style-name="T34">s</text:span><text:span text:style-name="T286">, returning</text:span> a list of substrings. <text:span text:style-name="T355">If </text:span><text:span text:style-name="Variable"><text:span text:style-name="T355">s </text:span></text:span><text:span text:style-name="T356">is</text:span><text:span text:style-name="Variable"><text:span text:style-name="T356"> none</text:span></text:span><text:span text:style-name="T355">, substrings are delimited by white space. </text:span><text:span text:style-name="T285">If </text:span><text:span text:style-name="T33">m</text:span><text:span text:style-name="T285"> is positive or zero, it cuts only at the first </text:span><text:span text:style-name="T33">m</text:span><text:span text:style-name="T285"> occurrences; the last element contains the remaining substring:</text:span></text:p> + <text:p text:style-name="P311">%{ 'A<text:span text:style-name="T359">·</text:span>B<text:span text:style-name="T359">··</text:span>C' | <text:span text:style-name="T168">split</text:span><text:span text:style-name="T202">('</text:span><text:span text:style-name="T360">·</text:span><text:span text:style-name="T202">') }<text:tab/><text:tab/>→</text:span><text:span text:style-name="T205"> </text:span><text:span text:style-name="T204">['A', 'B', </text:span><text:span text:style-name="T211">'', </text:span><text:span text:style-name="T204">'C']</text:span></text:p> + <text:p text:style-name="P311">%{ 'A<text:span text:style-name="T359">·</text:span>B<text:span text:style-name="T359">··</text:span>C' | <text:span text:style-name="T202">split</text:span><text:span text:style-name="T168">()</text:span><text:span text:style-name="T202"> }<text:tab/><text:tab/>→</text:span><text:span text:style-name="T205"> </text:span><text:span text:style-name="T204">['A', 'B',</text:span><text:span text:style-name="T211"> </text:span><text:span text:style-name="T204">'C']</text:span></text:p> + <text:p text:style-name="P311"><text:span text:style-name="T204">%{ 'A</text:span><text:span text:style-name="T362">·</text:span><text:span text:style-name="T204">B</text:span><text:span text:style-name="T361">··</text:span><text:span text:style-name="T204">C' | split('</text:span><text:span text:style-name="T361">·</text:span><text:span text:style-name="T204">', </text:span><text:span text:style-name="T178">1</text:span><text:span text:style-name="T204">) } <text:tab/></text:span><text:span text:style-name="T205">→ </text:span><text:span text:style-name="T204">['A', </text:span><text:span text:style-name="T178">'B</text:span><text:span text:style-name="T363">··</text:span><text:span text:style-name="T178">C'</text:span><text:span text:style-name="T204">]</text:span></text:p> <text:p text:style-name="P253"/> - <text:p text:style-name="P138">filter<text:span text:style-name="T204">()</text:span></text:p> - <text:p text:style-name="P255">removes empty elements from <text:span text:style-name="T288">the input</text:span> list:</text:p> - <text:p text:style-name="P308"><text:span text:style-name="T206">%{ ['A', '', 'C'] | </text:span><text:span text:style-name="T180">filter</text:span><text:span text:style-name="T206">() }<text:tab/>→</text:span><text:span text:style-name="T204"> ['A', 'C']</text:span></text:p> - <text:p text:style-name="P287"><text:soft-page-break/>match<text:span text:style-name="T204">(</text:span><text:span text:style-name="T49">regexp</text:span><text:span text:style-name="T204">, </text:span><text:span text:style-name="T49">default</text:span><text:span text:style-name="T204">='')</text:span></text:p> - <text:p text:style-name="P256"><text:span text:style-name="T204">returns the input string</text:span><text:span text:style-name="T163">, if </text:span><text:span text:style-name="T49">regexp</text:span><text:span text:style-name="T163"> matches somewhere in it. If </text:span><text:span text:style-name="T49">regexp</text:span><text:span text:style-name="T163"> contains matching groups (parentheses), the substring matching the first group is returned. If no match is found, the </text:span><text:span text:style-name="T49">default</text:span><text:span text:style-name="T163"> string is returned:</text:span></text:p> - <text:p text:style-name="P308"><text:span text:style-name="T163">%{ 'Douglas Adams' | </text:span><text:span text:style-name="T160">match</text:span><text:span text:style-name="T163">('Adam') }<text:tab/><text:tab/>→ 'Douglas Adams'</text:span></text:p> - <text:p text:style-name="P308"><text:span text:style-name="T163">%{ 'Douglas Adams' | match(</text:span><text:span text:style-name="T160">'Eve'</text:span><text:span text:style-name="T163">) }<text:tab/><text:tab/>→ ''</text:span></text:p> - <text:p text:style-name="P308"><text:span text:style-name="T163">%{ 'Douglas Adams' | match('Abel', </text:span><text:span text:style-name="T160">'Cain'</text:span><text:span text:style-name="T163">) }<text:tab/>→ 'Cain'</text:span></text:p> - <text:p text:style-name="P308"><text:span text:style-name="T163">%{ 'Douglas Adams' | match('l</text:span><text:span text:style-name="T160">(.*)</text:span><text:span text:style-name="T163">m') }<text:tab/><text:tab/>→ 'as Ada'</text:span></text:p> - <text:p text:style-name="P289"><text:span text:style-name="T160">wordwrap</text:span><text:span text:style-name="T163">(width=79, break_long_words=true, break_on_hyphens=true, <text:s text:c="2"/><text:line-break/> <text:s text:c="8"/>wrapstring=none)</text:span></text:p> - <text:p text:style-name="P258"><text:span text:style-name="T163">replaces the </text:span><text:span text:style-name="T164">builtin </text:span><text:span text:style-name="T50">Jinja </text:span><text:span text:style-name="T164">filter 'wordwrap' <text:s/>by a private version that allows to suppress breaks on hyphens:</text:span></text:p> - <text:p text:style-name="P305">%{'long-hyphenated-text'|<text:span text:style-name="T170">wordwrap</text:span>(15, false)}</text:p> - <text:p text:style-name="P309"><text:span text:style-name="T164">→</text:span><text:span text:style-name="T163"> 'long- </text:span></text:p> + <text:p text:style-name="P138">filter<text:span text:style-name="T202">()</text:span></text:p> + <text:p text:style-name="P255">removes empty elements from <text:span text:style-name="T286">the input</text:span> list:</text:p> + <text:p text:style-name="P308"><text:span text:style-name="T204">%{ ['A', '', 'C'] | </text:span><text:span text:style-name="T178">filter</text:span><text:span text:style-name="T204">() }<text:tab/>→</text:span><text:span text:style-name="T202"> ['A', 'C']</text:span></text:p> + <text:p text:style-name="P287"><text:soft-page-break/>match<text:span text:style-name="T202">(</text:span><text:span text:style-name="T49">regexp</text:span><text:span text:style-name="T202">, </text:span><text:span text:style-name="T49">default</text:span><text:span text:style-name="T202">='')</text:span></text:p> + <text:p text:style-name="P256"><text:span text:style-name="T202">returns the input string</text:span><text:span text:style-name="T161">, if </text:span><text:span text:style-name="T49">regexp</text:span><text:span text:style-name="T161"> matches somewhere in it. If </text:span><text:span text:style-name="T49">regexp</text:span><text:span text:style-name="T161"> contains matching groups (parentheses), the substring matching the first group is returned. If no match is found, the </text:span><text:span text:style-name="T49">default</text:span><text:span text:style-name="T161"> string is returned:</text:span></text:p> + <text:p text:style-name="P308"><text:span text:style-name="T161">%{ 'Douglas Adams' | </text:span><text:span text:style-name="T158">match</text:span><text:span text:style-name="T161">('Adam') }<text:tab/><text:tab/>→ 'Douglas Adams'</text:span></text:p> + <text:p text:style-name="P308"><text:span text:style-name="T161">%{ 'Douglas Adams' | match(</text:span><text:span text:style-name="T158">'Eve'</text:span><text:span text:style-name="T161">) }<text:tab/><text:tab/>→ ''</text:span></text:p> + <text:p text:style-name="P308"><text:span text:style-name="T161">%{ 'Douglas Adams' | match('Abel', </text:span><text:span text:style-name="T158">'Cain'</text:span><text:span text:style-name="T161">) }<text:tab/>→ 'Cain'</text:span></text:p> + <text:p text:style-name="P308"><text:span text:style-name="T161">%{ 'Douglas Adams' | match('l</text:span><text:span text:style-name="T158">(.*)</text:span><text:span text:style-name="T161">m') }<text:tab/><text:tab/>→ 'as Ada'</text:span></text:p> + <text:p text:style-name="P289"><text:span text:style-name="T158">wordwrap</text:span><text:span text:style-name="T161">(width=79, break_long_words=true, break_on_hyphens=true, <text:s text:c="2"/><text:line-break/> <text:s text:c="8"/>wrapstring=none)</text:span></text:p> + <text:p text:style-name="P258"><text:span text:style-name="T161">replaces the </text:span><text:span text:style-name="T162">builtin </text:span><text:span text:style-name="T50">Jinja </text:span><text:span text:style-name="T162">filter 'wordwrap' <text:s/>by a private version that allows to suppress breaks on hyphens:</text:span></text:p> + <text:p text:style-name="P305">%{'long-hyphenated-text'|<text:span text:style-name="T168">wordwrap</text:span>(15, false)}</text:p> + <text:p text:style-name="P309"><text:span text:style-name="T162">→</text:span><text:span text:style-name="T161"> 'long- </text:span></text:p> <text:p text:style-name="P306"><text:s text:c="3"/>hyphenated-text'</text:p> <text:p text:style-name="P309"/> - <text:p text:style-name="P305">%{'long-hyphenated-text'|wordwrap(15, false, <text:span text:style-name="T170">false</text:span>)} </text:p> - <text:p text:style-name="P309"><text:span text:style-name="T164">→</text:span><text:span text:style-name="T163"> 'long-</text:span><text:span text:style-name="T164">hyphenated-text'</text:span></text:p> + <text:p text:style-name="P305">%{'long-hyphenated-text'|wordwrap(15, false, <text:span text:style-name="T168">false</text:span>)} </text:p> + <text:p text:style-name="P309"><text:span text:style-name="T162">→</text:span><text:span text:style-name="T161"> 'long-</text:span><text:span text:style-name="T162">hyphenated-text'</text:span></text:p> <text:h text:style-name="Heading_20_3" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2554_1114405012"/>Loops<text:bookmark-end text:name="__RefHeading__2554_1114405012"/></text:h> - <text:p text:style-name="P28">Text in a template may be used repeatedly, like a classical 'for' loop. Loops are defined by structured comments <text:span text:style-name="T272">i.e. lines </text:span>beginning with '#%'. <text:span text:style-name="T272">They </text:span>start with '#% for … <text:span text:style-name="T201">in …:</text:span>' and end in '#% endfor':</text:p> - <text:p text:style-name="Preformatted_20_Text"><text:span text:style-name="T170">#% for</text:span> countdown <text:span text:style-name="T170">in</text:span> [3, 2, 1, '<text:span text:style-name="T272">liftoff</text:span>']<text:span text:style-name="T170">:</text:span></text:p> + <text:p text:style-name="P28">Text in a template may be used repeatedly, like a classical 'for' loop. Loops are defined by structured comments <text:span text:style-name="T270">i.e. lines </text:span>beginning with '#%'. <text:span text:style-name="T270">They </text:span>start with '#% for … <text:span text:style-name="T199">in …:</text:span>' and end in '#% endfor':</text:p> + <text:p text:style-name="Preformatted_20_Text"><text:span text:style-name="T168">#% for</text:span> countdown <text:span text:style-name="T168">in</text:span> [3, 2, 1, '<text:span text:style-name="T270">liftoff</text:span>']<text:span text:style-name="T168">:</text:span></text:p> <text:p text:style-name="Preformatted_20_Text">echo %{countdown}</text:p> <text:p text:style-name="P128">#% endfor</text:p> - <text:p text:style-name="P28">will <text:span text:style-name="T199">be expanded by </text:span><text:span text:style-name="T30">mkexp</text:span><text:span text:style-name="T199"> to </text:span>yield</text:p> + <text:p text:style-name="P28">will <text:span text:style-name="T197">be expanded by </text:span><text:span text:style-name="T30">mkexp</text:span><text:span text:style-name="T197"> to </text:span>yield</text:p> <text:p text:style-name="Preformatted_20_Text">echo 3</text:p> <text:p text:style-name="Preformatted_20_Text">echo 2</text:p> <text:p text:style-name="Preformatted_20_Text">echo 1</text:p> - <text:p text:style-name="Preformatted_20_Text">echo <text:span text:style-name="T272">liftoff</text:span></text:p> - <text:p text:style-name="P31"><text:span text:style-name="T201">You may of course use expressions in the loop definition. </text:span>For classical, index based loops, there is a 'range' function as in Python, <text:span text:style-name="T201">and the size of a list is queried with the 'length' filter</text:span>.</text:p> - <text:p text:style-name="P144">#% for index in <text:span text:style-name="T170">range(1, </text:span><text:span text:style-name="T173">PATH|length()</text:span><text:span text:style-name="T170">)</text:span> <text:s/><text:span text:style-name="T201"># PATH was defined in </text:span><text:span text:style-name="T201"><text:bookmark-ref text:reference-format="chapter" text:ref-name="__RefHeading__1669_1438093122">2.3.1</text:bookmark-ref></text:span></text:p> - <text:p text:style-name="Preformatted_20_Text"><text:span text:style-name="T201">echo</text:span> %<text:span text:style-name="T202">{index}: </text:span>%{<text:span text:style-name="T201">PATH[</text:span>index<text:span text:style-name="T201">]</text:span>} <text:s/></text:p> + <text:p text:style-name="Preformatted_20_Text">echo <text:span text:style-name="T270">liftoff</text:span></text:p> + <text:p text:style-name="P31"><text:span text:style-name="T199">You may of course use expressions in the loop definition. </text:span>For classical, index based loops, there is a 'range' function as in Python, <text:span text:style-name="T199">and the size of a list is queried with the 'length' filter</text:span>.</text:p> + <text:p text:style-name="P144">#% for index in <text:span text:style-name="T168">range(1, </text:span><text:span text:style-name="T171">PATH|length()</text:span><text:span text:style-name="T168">)</text:span> <text:s/><text:span text:style-name="T199"># PATH was defined in </text:span><text:span text:style-name="T199"><text:bookmark-ref text:reference-format="chapter" text:ref-name="__RefHeading__1669_1438093122">2.3.1</text:bookmark-ref></text:span></text:p> + <text:p text:style-name="Preformatted_20_Text"><text:span text:style-name="T199">echo</text:span> %<text:span text:style-name="T200">{index}: </text:span>%{<text:span text:style-name="T199">PATH[</text:span>index<text:span text:style-name="T199">]</text:span>} <text:s/></text:p> <text:p text:style-name="Preformatted_20_Text">#% endfor</text:p> - <text:p text:style-name="Text_20_body">Note that <text:span text:style-name="T200">indexing of lists starts at 0,</text:span> <text:span text:style-name="T200">i.e. the first element of the PATH list is skipped. Besides, </text:span>the stop index <text:span text:style-name="T202">is</text:span> not included, i.e. <text:span text:style-name="T201">as PATH has a length of 3, </text:span>the last looping has index <text:span text:style-name="T200">2</text:span>:</text:p> - <text:p text:style-name="Preformatted_20_Text">echo <text:span text:style-name="T202">1: </text:span>/usr/bin </text:p> - <text:p text:style-name="Preformatted_20_Text"><text:soft-page-break/>echo <text:span text:style-name="T202">2: </text:span>/usr/local/bin </text:p> - <text:h text:style-name="Heading_20_3" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2556_1114405012"/>Condition<text:span text:style-name="T199">s</text:span><text:bookmark-end text:name="__RefHeading__2556_1114405012"/></text:h> - <text:p text:style-name="P29">A template may contain alternative parts <text:span text:style-name="T202">that are selected depending on the .config data</text:span>, <text:span text:style-name="T202">similar to an 'if' statement. This is useful for e.g. skipping certain parts of the script template that are not applicable to runs of a given resolution but required for others. They are also implemented as structured comments, starting with '#% if …:' and ending in '#% endif', with optional '#% elif …:' and '#% else:' parts.</text:span></text:p> - <text:p text:style-name="P30"><text:span text:style-name="T202">For testing, you may use expressions with comparisons (==, !=, >, >=, <, <=), querying a certain list element (… in …), and logical operators (and, or, not). Sub-expressions may be parenthesized to change the order of evaluation. Besides, </text:span><text:span text:style-name="T14">Jinja</text:span><text:span text:style-name="T202"> provides a number of named tests that use the '… is …' Syntax.</text:span></text:p> - <text:p text:style-name="Preformatted_20_Text"><text:span text:style-name="T170">#% if </text:span><text:span text:style-name="T205">PATH|length()</text:span><text:span text:style-name="T203"> </text:span><text:span text:style-name="T174">is divisibleby 3:</text:span></text:p> + <text:p text:style-name="Text_20_body">Note that <text:span text:style-name="T198">indexing of lists starts at 0,</text:span> <text:span text:style-name="T198">i.e. the first element of the PATH list is skipped. Besides, </text:span>the stop index <text:span text:style-name="T200">is</text:span> not included, i.e. <text:span text:style-name="T199">as PATH has a length of 3, </text:span>the last looping has index <text:span text:style-name="T198">2</text:span>:</text:p> + <text:p text:style-name="Preformatted_20_Text">echo <text:span text:style-name="T200">1: </text:span>/usr/bin </text:p> + <text:p text:style-name="Preformatted_20_Text"><text:soft-page-break/>echo <text:span text:style-name="T200">2: </text:span>/usr/local/bin </text:p> + <text:h text:style-name="Heading_20_3" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2556_1114405012"/>Condition<text:span text:style-name="T197">s</text:span><text:bookmark-end text:name="__RefHeading__2556_1114405012"/></text:h> + <text:p text:style-name="P29">A template may contain alternative parts <text:span text:style-name="T200">that are selected depending on the .config data</text:span>, <text:span text:style-name="T200">similar to an 'if' statement. This is useful for e.g. skipping certain parts of the script template that are not applicable to runs of a given resolution but required for others. They are also implemented as structured comments, starting with '#% if …:' and ending in '#% endif', with optional '#% elif …:' and '#% else:' parts.</text:span></text:p> + <text:p text:style-name="P30"><text:span text:style-name="T200">For testing, you may use expressions with comparisons (==, !=, >, >=, <, <=), querying a certain list element (… in …), and logical operators (and, or, not). Sub-expressions may be parenthesized to change the order of evaluation. Besides, </text:span><text:span text:style-name="T14">Jinja</text:span><text:span text:style-name="T200"> provides a number of named tests that use the '… is …' Syntax.</text:span></text:p> + <text:p text:style-name="Preformatted_20_Text"><text:span text:style-name="T168">#% if </text:span><text:span text:style-name="T203">PATH|length()</text:span><text:span text:style-name="T201"> </text:span><text:span text:style-name="T172">is divisibleby 3:</text:span></text:p> <text:p text:style-name="P162">diff3 %{PATH[:3]|join(' ')}</text:p> - <text:p text:style-name="P131">#% elif <text:span text:style-name="T205">PATH|length()</text:span> is even:</text:p> + <text:p text:style-name="P131">#% elif <text:span text:style-name="T203">PATH|length()</text:span> is even:</text:p> <text:p text:style-name="P145">diff %{PATH[:2]|join(' ')}</text:p> <text:p text:style-name="P128">#% else:</text:p> - <text:p text:style-name="Preformatted_20_Text">echo <text:span text:style-name="T214">cannot handle PATH</text:span></text:p> + <text:p text:style-name="Preformatted_20_Text">echo <text:span text:style-name="T212">cannot handle PATH</text:span></text:p> <text:p text:style-name="P128">#% endif</text:p> <text:p text:style-name="P37">If PATH is defined as in the examples above, this will result in</text:p> <text:p text:style-name="Preformatted_20_Text">diff3 /bin /usr/bin /usr/local/bin</text:p> - <text:p text:style-name="P113"><text:span text:style-name="T202">For a list of available tests, see the </text:span><text:span text:style-name="T15">Jinja</text:span><text:span text:style-name="T215"> documentation. </text:span><text:span text:style-name="T286">Besides, </text:span><text:span text:style-name="T15">mkexp</text:span><text:span text:style-name="T215"> defines </text:span><text:span text:style-name="T289">a</text:span><text:span text:style-name="T356">n</text:span><text:span text:style-name="T289"> </text:span><text:span text:style-name="T215">additional </text:span><text:span text:style-name="T347">test</text:span><text:span text:style-name="T215">:</text:span></text:p> - <text:p text:style-name="P302"><text:span text:style-name="T236">set</text:span><text:span text:style-name="T206">(</text:span><text:span text:style-name="T165">)</text:span></text:p> - <text:p text:style-name="P274"><text:span text:style-name="T166">tests if a string evaluates to</text:span><text:span text:style-name="T51"> true</text:span><text:span text:style-name="T166"> when used as namelist </text:span><text:span text:style-name="T341">logical</text:span><text:span text:style-name="T166">. Returns</text:span><text:span text:style-name="T51"> false</text:span><text:span text:style-name="T166"> when used on an undefined variable:</text:span></text:p> - <text:p text:style-name="P310"><text:span text:style-name="T356">'</text:span><text:span text:style-name="T212">.true.</text:span><text:span text:style-name="T356">' </text:span><text:span text:style-name="T184">is set</text:span><text:span text:style-name="T204"><text:tab/><text:tab/>→</text:span><text:span text:style-name="T207"> </text:span><text:span text:style-name="T232">true</text:span></text:p> - <text:p text:style-name="P310"><text:span text:style-name="T212">'T' </text:span><text:span text:style-name="T184">is set<text:tab/><text:tab/></text:span><text:span text:style-name="T206"><text:tab/></text:span><text:span text:style-name="T207">→ </text:span><text:span text:style-name="T232">true</text:span></text:p> - <text:p text:style-name="P310"><text:span text:style-name="T232">'fAlSe' </text:span><text:span text:style-name="T236">is set<text:tab/><text:tab/></text:span><text:span text:style-name="T233">→ </text:span><text:span text:style-name="T232">false</text:span></text:p> - <text:p text:style-name="P310"><text:span text:style-name="T232">un</text:span><text:span text:style-name="T234">known_var</text:span><text:span text:style-name="T232"> </text:span><text:span text:style-name="T236">is set<text:tab/></text:span><text:span text:style-name="T233">→ </text:span><text:span text:style-name="T232">false</text:span></text:p> + <text:p text:style-name="P113"><text:span text:style-name="T200">For a list of available tests, see the </text:span><text:span text:style-name="T15">Jinja</text:span><text:span text:style-name="T213"> documentation. </text:span><text:span text:style-name="T284">Besides, </text:span><text:span text:style-name="T15">mkexp</text:span><text:span text:style-name="T213"> defines </text:span><text:span text:style-name="T287">a</text:span><text:span text:style-name="T352">n</text:span><text:span text:style-name="T287"> </text:span><text:span text:style-name="T213">additional </text:span><text:span text:style-name="T343">test</text:span><text:span text:style-name="T213">:</text:span></text:p> + <text:p text:style-name="P302"><text:span text:style-name="T234">set</text:span><text:span text:style-name="T204">(</text:span><text:span text:style-name="T163">)</text:span></text:p> + <text:p text:style-name="P274"><text:span text:style-name="T164">tests if a string evaluates to</text:span><text:span text:style-name="T51"> true</text:span><text:span text:style-name="T164"> when used as namelist </text:span><text:span text:style-name="T339">logical</text:span><text:span text:style-name="T164">. Returns</text:span><text:span text:style-name="T51"> false</text:span><text:span text:style-name="T164"> when used on an undefined variable:</text:span></text:p> + <text:p text:style-name="P310"><text:span text:style-name="T352">'</text:span><text:span text:style-name="T210">.true.</text:span><text:span text:style-name="T352">' </text:span><text:span text:style-name="T182">is set</text:span><text:span text:style-name="T202"><text:tab/><text:tab/>→</text:span><text:span text:style-name="T205"> </text:span><text:span text:style-name="T230">true</text:span></text:p> + <text:p text:style-name="P310"><text:span text:style-name="T210">'T' </text:span><text:span text:style-name="T182">is set<text:tab/><text:tab/></text:span><text:span text:style-name="T204"><text:tab/></text:span><text:span text:style-name="T205">→ </text:span><text:span text:style-name="T230">true</text:span></text:p> + <text:p text:style-name="P310"><text:span text:style-name="T230">'fAlSe' </text:span><text:span text:style-name="T234">is set<text:tab/><text:tab/></text:span><text:span text:style-name="T231">→ </text:span><text:span text:style-name="T230">false</text:span></text:p> + <text:p text:style-name="P310"><text:span text:style-name="T230">un</text:span><text:span text:style-name="T232">known_var</text:span><text:span text:style-name="T230"> </text:span><text:span text:style-name="T234">is set<text:tab/></text:span><text:span text:style-name="T231">→ </text:span><text:span text:style-name="T230">false</text:span></text:p> <text:p text:style-name="P254"/> <text:h text:style-name="Heading_20_3" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2558_1114405012"/>Comments<text:bookmark-end text:name="__RefHeading__2558_1114405012"/></text:h> - <text:p text:style-name="P61"><text:span text:style-name="T9">Jinj</text:span>a also allows template comments that are removed when the template is expanded. This is implemented as another kind of structured comment starting with <text:span text:style-name="T273">'#%</text:span>#':</text:p> + <text:p text:style-name="P61"><text:span text:style-name="T9">Jinj</text:span>a also allows template comments that are removed when the template is expanded. This is implemented as another kind of structured comment starting with <text:span text:style-name="T271">'#%</text:span>#':</text:p> <text:p text:style-name="Preformatted_20_Text"># This comment will make it to the expanded script</text:p> - <text:p text:style-name="Preformatted_20_Text">#%# This one will not make it <text:span text:style-name="T224">and is for template documentation only</text:span></text:p> + <text:p text:style-name="Preformatted_20_Text">#%# This one will not make it <text:span text:style-name="T222">and is for template documentation only</text:span></text:p> <text:h text:style-name="P334" text:outline-level="3"><text:bookmark-start text:name="__RefHeading___Toc3658_1790556471"/>Block statements and block comments<text:bookmark-end text:name="__RefHeading___Toc3658_1790556471"/></text:h> <text:p text:style-name="P100">For templates that contain more <text:span text:style-name="T9">Jinja</text:span><text:span text:style-name="T56"> code than actual output lines, a variant of the </text:span><text:soft-page-break/><text:span text:style-name="T56">standard </text:span><text:span text:style-name="T9">Jinja </text:span><text:span text:style-name="T56">block synta</text:span><text:span text:style-name="T112">x i</text:span><text:span text:style-name="T56">s available for both statements and comments</text:span><text:span text:style-name="T56"><text:note text:id="ftn1" text:note-class="footnote"><text:note-citation>1</text:note-citation><text:note-body> - <text:p text:style-name="P348">The standard <text:span text:style-name="T9">Jinja</text:span><text:span text:style-name="T56"> comment syntax '{#' collides with the Bourne shell idiom for variable size, '$â </text:span><text:span text:style-name="T168">{#</text:span><text:span text:style-name="T163">var</text:span><text:span text:style-name="T56">}'. </text:span><text:span text:style-name="T112">Standard b</text:span><text:span text:style-name="T56">lock statement syntax '{%' gives problems when </text:span><text:span text:style-name="T112">mkexp </text:span><text:span text:style-name="T56">template variables </text:span><text:span text:style-name="T112">'%{var}' </text:span><text:span text:style-name="T56">are used </text:span><text:span text:style-name="T112">in</text:span><text:span text:style-name="T56"> shell variable </text:span><text:span text:style-name="T112">expansions</text:span><text:span text:style-name="T56">, like '$</text:span><text:span text:style-name="T168">{%</text:span><text:span text:style-name="T56">{</text:span><text:span text:style-name="T112">var}:-default}'</text:span></text:p></text:note-body></text:note></text:span><text:span text:style-name="T56">. Block statements begin with '{%__mkexp__' and end with '%}', block comments begin with '{#__mkexp__' and end with '#}'.</text:span></text:p> + <text:p text:style-name="P348">The standard <text:span text:style-name="T9">Jinja</text:span><text:span text:style-name="T56"> comment syntax '{#' collides with the Bourne shell idiom for variable size, '$â </text:span><text:span text:style-name="T166">{#</text:span><text:span text:style-name="T161">var</text:span><text:span text:style-name="T56">}'. </text:span><text:span text:style-name="T112">Standard b</text:span><text:span text:style-name="T56">lock statement syntax '{%' gives problems when </text:span><text:span text:style-name="T112">mkexp </text:span><text:span text:style-name="T56">template variables </text:span><text:span text:style-name="T112">'%{var}' </text:span><text:span text:style-name="T56">are used </text:span><text:span text:style-name="T112">in</text:span><text:span text:style-name="T56"> shell variable </text:span><text:span text:style-name="T112">expansions</text:span><text:span text:style-name="T56">, like '$</text:span><text:span text:style-name="T166">{%</text:span><text:span text:style-name="T56">{</text:span><text:span text:style-name="T112">var}:-default}'</text:span></text:p></text:note-body></text:note></text:span><text:span text:style-name="T56">. Block statements begin with '{%__mkexp__' and end with '%}', block comments begin with '{#__mkexp__' and end with '#}'.</text:span></text:p> <text:h text:style-name="P346" text:outline-level="2"><text:bookmark-start text:name="__RefHeading__2560_1114405012"/>Standard experiment<text:span text:style-name="T54">s</text:span><text:bookmark-end text:name="__RefHeading__2560_1114405012"/></text:h> <text:p text:style-name="P16">When generating an experiment setup, <text:span text:style-name="T9">mkexp</text:span> expects the .config and .tmpl files to reside in a subdirectory of the current working directory, called 'standard_experiments'.</text:p> <text:p text:style-name="P10"><text:span text:style-name="T8">The definition of a standard experiment type </text:span><text:span text:style-name="T10">typename</text:span><text:span text:style-name="T8"> may consist of a configuration in </text:span><text:span text:style-name="T10">typename</text:span><text:span text:style-name="T8">.config and a number of </text:span><text:span text:style-name="T10">typename</text:span><text:span text:style-name="T8">.</text:span><text:span text:style-name="T10">jobname</text:span><text:span text:style-name="T8">.tmpl files, one for each subsection </text:span><text:span text:style-name="T10">jobname</text:span><text:span text:style-name="T8"> of the jobs section. Before reading </text:span><text:span text:style-name="T10">typename</text:span><text:span text:style-name="T8">.config, the special DEFAULT.config is loaded, containing the model default settings. Both .config and .tmpl files may be missing; the default is to read only DEFAULT.config or the corresponding DEFAULT.</text:span><text:span text:style-name="T10">jobname</text:span><text:span text:style-name="T8">.tmpl file instead.</text:span></text:p> @@ -3275,12 +3214,12 @@ <text:p text:style-name="P11">Besides the standard experiment types, <text:span text:style-name="T9">mkexp</text:span> also supports option sets that are independent of the experiment type chosen.</text:p> <text:p text:style-name="P11">Usually these option sets contain a number of settings needed for a certain technical aspect, e.g. for changing the output interval or aggregation method for output data, or providing resolution dependent model settings. They reside in a subdirectory 'standard_options' of the current working directory, each in their respective <text:span text:style-name="T9">optionname</text:span>.config file.</text:p> <text:p text:style-name="P11">Within the experiment's .config file, options are selected by setting the variable EXP_OPTIONS to the list of required option names. These settings are loaded after the experiment type configuration but before the user defined experiment configuration.</text:p> - <text:h text:style-name="P333" text:outline-level="3"><text:bookmark-start text:name="__RefHeading___Toc3660_1790556471"/><text:soft-page-break/><text:span text:style-name="T293">O</text:span>ptions set due to model configuration <text:bookmark-end text:name="__RefHeading___Toc3660_1790556471"/></text:h> - <text:p text:style-name="P97">Some options may need to be set <text:span text:style-name="T292">for all experiments that use a given </text:span>model configuration. <text:span text:style-name="T292">If e.g. a part of the model is disabled at build time, the corresponding option set should also be disabled for all experiments.</text:span></text:p> + <text:h text:style-name="P333" text:outline-level="3"><text:bookmark-start text:name="__RefHeading___Toc3660_1790556471"/><text:soft-page-break/><text:span text:style-name="T291">O</text:span>ptions set due to model configuration <text:bookmark-end text:name="__RefHeading___Toc3660_1790556471"/></text:h> + <text:p text:style-name="P97">Some options may need to be set <text:span text:style-name="T290">for all experiments that use a given </text:span>model configuration. <text:span text:style-name="T290">If e.g. a part of the model is disabled at build time, the corresponding option set should also be disabled for all experiments.</text:span></text:p> <text:p text:style-name="P98">For this, the build process may write an optional file 'SETUP.config' <text:s/>that is read before any type or user configuration. If this file contains the variable SETUP_OPTIONS, the options listed there will be loaded before loading the EXP_OPTIONS list. Do not override SETUP_OPTIONS in the user configuration unless you know what you are doing!</text:p> - <text:h text:style-name="P343" text:outline-level="2"><text:bookmark-start text:name="__RefHeading__1508_1711940803"/>Generating <text:span text:style-name="T240">j</text:span>obs<text:bookmark-end text:name="__RefHeading__1508_1711940803"/></text:h> - <text:p text:style-name="P42">When<text:span text:style-name="T220"> </text:span>running <text:span text:style-name="T9">mkexp</text:span><text:span text:style-name="T134">, </text:span><text:span text:style-name="T135">the special configuration section [jobs]</text:span><text:span text:style-name="T47"> </text:span><text:span text:style-name="T135">is read and evaluated. Each of its subsections, e.g. [[run]], defines a job definition file or job script to be created.</text:span></text:p> - <text:p text:style-name="P163"># <text:span text:style-name="T221">model setup: experiment type 'control'</text:span></text:p> + <text:h text:style-name="P343" text:outline-level="2"><text:bookmark-start text:name="__RefHeading__1508_1711940803"/>Generating <text:span text:style-name="T238">j</text:span>obs<text:bookmark-end text:name="__RefHeading__1508_1711940803"/></text:h> + <text:p text:style-name="P42">When<text:span text:style-name="T218"> </text:span>running <text:span text:style-name="T9">mkexp</text:span><text:span text:style-name="T134">, </text:span><text:span text:style-name="T135">the special configuration section [jobs]</text:span><text:span text:style-name="T47"> </text:span><text:span text:style-name="T135">is read and evaluated. Each of its subsections, e.g. [[run]], defines a job definition file or job script to be created.</text:span></text:p> + <text:p text:style-name="P163"># <text:span text:style-name="T219">model setup: experiment type 'control'</text:span></text:p> <text:p text:style-name="P150">[jobs]</text:p> <text:p text:style-name="P150"><text:s text:c="2"/>[[pre]]</text:p> <text:p text:style-name="P150"><text:s text:c="2"/>[[run]]</text:p> @@ -3296,13 +3235,12 @@ <text:p text:style-name="P150"><text:s text:c="2"/>[[my_pre]]</text:p> <text:p text:style-name="P150"><text:soft-page-break/><text:s text:c="2"/>[[my_post]]</text:p> <text:p text:style-name="P49">This way, the 'pre' and 'post' jobs will not be created in favor of two new jobs, 'my_pre' and 'my_post'. In this case, the user setup must provide two templates 'joe1234.my_pre.tmpl' and 'joe1234.my_post.tmpl', together with the .config file.</text:p> - <text:h text:style-name="Heading_20_3" text:outline-level="3"><text:bookmark-start text:name="__RefHeading___Toc4462_1592844343"/>Creating derived jobs<text:bookmark-end text:name="__RefHeading___Toc4462_1592844343"/></text:h> - <text:p text:style-name="P378">Alternatively, you may want to introduce a new 'my_p<text:span text:style-name="T222">ost</text:span>' job, that is basically the same as the old 'p<text:span text:style-name="T222">ost</text:span>' job but uses a slightly different configuration. This may be done using the special section variable '.extends'.</text:p> + <text:p text:style-name="P45">Alternatively, you may want to introduce a new 'my_p<text:span text:style-name="T220">ost</text:span>' job, that is basically the same as the old 'p<text:span text:style-name="T220">ost</text:span>' job but uses a slightly different configuration. This may be done using the special section variable '.extends'.</text:p> <text:p text:style-name="P150">[jobs]</text:p> <text:p text:style-name="P164"><text:span text:style-name="T134"><text:s text:c="2"/>[[my_p</text:span><text:span text:style-name="T139">ost</text:span><text:span text:style-name="T134">]]</text:span></text:p> <text:p text:style-name="P164"><text:span text:style-name="T134"><text:s text:c="4"/>.</text:span><text:span text:style-name="T138">extends</text:span><text:span text:style-name="T134"> = p</text:span><text:span text:style-name="T139">ost</text:span></text:p> <text:p text:style-name="P151"><text:s text:c="4"/>command = $HOME/bin/my_special_command</text:p> - <text:p text:style-name="P50">With this configuration, an additional 'joe1234.my_post' is created based on the existing 'post' template. A dedicated 'joe1234.my_post.tmpl' file is not needed here. The 'command' setting is <text:span text:style-name="T223">made available </text:span>to <text:span text:style-name="T223">the template </text:span><text:span text:style-name="T371">both as a global setting and </text:span><text:span text:style-name="T223">via the</text:span> 'JOB' dictionary.</text:p> + <text:p text:style-name="P50">With this configuration, an additional 'joe1234.my_post' is created based on the existing 'post' template. A dedicated 'joe1234.my_post.tmpl' file is not needed here. The 'command' setting is <text:span text:style-name="T221">made available </text:span>to <text:span text:style-name="T221">the template via the</text:span> 'JOB' dictionary.</text:p> <text:h text:style-name="P324" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2568_1114405012"/>Pre-defined job variables<text:bookmark-end text:name="__RefHeading__2568_1114405012"/></text:h> <text:p text:style-name="P55">While <text:span text:style-name="T9">mkexp</text:span> in general does not impose any naming convention on the variable names used in the job sections and leaves the details to the respective model setup, there are a few exceptions.</text:p> <text:p text:style-name="P212">tasks</text:p> @@ -3311,19 +3249,19 @@ <text:p text:style-name="P235">Number of computing nodes required on the computing system. Needed if 'tasks' is not set.</text:p> <text:p text:style-name="P213">tasks_per_node</text:p> <text:p text:style-name="P235">Number of parallel (MPI) tasks on a single node. Needed if 'tasks' is not set.</text:p> - <text:h text:style-name="Heading_20_3" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2570_1114405012"/><text:span text:style-name="T134">Overriding </text:span><text:span text:style-name="T369">global</text:span><text:span text:style-name="T134"> </text:span><text:span text:style-name="T152">or </text:span><text:span text:style-name="T370">derived</text:span><text:span text:style-name="T152"> </text:span><text:span text:style-name="T134">settings in jobs</text:span><text:bookmark-end text:name="__RefHeading__2570_1114405012"/></text:h> - <text:p text:style-name="P376"><text:span text:style-name="T139">There is special provision to change </text:span><text:span text:style-name="T343">global or </text:span><text:span text:style-name="T344">derived</text:span><text:span text:style-name="T343"> </text:span><text:span text:style-name="T139">settings for a specific job. Consider this setting from the introductory example.</text:span></text:p> + <text:h text:style-name="P323" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2570_1114405012"/>Overriding namelist settings in derived jobs<text:bookmark-end text:name="__RefHeading__2570_1114405012"/></text:h> + <text:p text:style-name="P50">There is special provision to change namelist files settings for a specific job. Consider this setting from the introductory example.</text:p> <text:p text:style-name="P165">[namelists]</text:p> <text:p text:style-name="P118"><text:s text:c="2"/>[[namelist.jsbach]]</text:p> <text:p text:style-name="P118"><text:s text:c="4"/>[[[jsbach_ctl]]]</text:p> <text:p text:style-name="P118"><text:s text:c="6"/>use_dynveg = false</text:p> - <text:p text:style-name="P46"><text:span text:style-name="T134">If – for some reason – your experiments needs 'use_dynveg' set to 'true' for the first </text:span><text:soft-page-break/><text:span text:style-name="T134">year only, you may create an additional 'run_first' job, </text:span><text:span text:style-name="T140">with a job specific namelists subsection that – apart from the addition</text:span><text:span text:style-name="T142">al</text:span><text:span text:style-name="T140"> brackets – has the same structure as</text:span><text:span text:style-name="T134"> </text:span><text:span text:style-name="T140">the global namelists section.</text:span></text:p> - <text:p text:style-name="P165">[jobs]</text:p> + <text:p text:style-name="P46"><text:span text:style-name="T134">If – for some reason – your experiments needs 'use_dynveg' set to 'true' for the first year only, you may create an additional 'run_first' job, </text:span><text:span text:style-name="T140">with a job specific namelists subsection that – apart from the addition</text:span><text:span text:style-name="T142">al</text:span><text:span text:style-name="T140"> brackets – has the same structure as</text:span><text:span text:style-name="T134"> </text:span><text:span text:style-name="T140">the global namelists section.</text:span></text:p> + <text:p text:style-name="P165"><text:soft-page-break/>[jobs]</text:p> <text:p text:style-name="P165"><text:s text:c="2"/>[[run_first]]</text:p> <text:p text:style-name="P165"><text:s text:c="4"/>.extends = run</text:p> - <text:p text:style-name="P165"><text:s text:c="4"/><text:span text:style-name="T170">[[[namelists]]</text:span><text:span text:style-name="T179">]</text:span></text:p> - <text:p text:style-name="P118"><text:s text:c="6"/><text:span text:style-name="T222">[[</text:span>[[namelist.jsbach]]<text:span text:style-name="T222">]]</text:span></text:p> - <text:p text:style-name="P118"><text:s text:c="8"/><text:span text:style-name="T222">[[</text:span>[[[jsbach_ctl]]]<text:span text:style-name="T222">]]</text:span></text:p> + <text:p text:style-name="P165"><text:s text:c="4"/><text:span text:style-name="T168">[[[namelists]]</text:span><text:span text:style-name="T177">]</text:span></text:p> + <text:p text:style-name="P118"><text:s text:c="6"/><text:span text:style-name="T220">[[</text:span>[[namelist.jsbach]]<text:span text:style-name="T220">]]</text:span></text:p> + <text:p text:style-name="P118"><text:s text:c="8"/><text:span text:style-name="T220">[[</text:span>[[[jsbach_ctl]]]<text:span text:style-name="T220">]]</text:span></text:p> <text:p text:style-name="P118"><text:span text:style-name="T134"><text:s text:c="10"/>use_dynveg = </text:span><text:span text:style-name="T139">true</text:span></text:p> <text:p text:style-name="P46"><text:span text:style-name="T140">This</text:span><text:span text:style-name="T134"> will result in a 'joe1234.run_first' file that is identical to 'joe1234.run' except for the 'use_dynveg' setting.</text:span></text:p> <text:h text:style-name="P323" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2572_1114405012"/>Native script variables<text:bookmark-end text:name="__RefHeading__2572_1114405012"/></text:h> @@ -3336,108 +3274,108 @@ <text:p text:style-name="P150">#! /bin/sh</text:p> <text:p text:style-name="P154">NAME='%{NAME}'</text:p> <text:p text:style-name="P150">echo %{MESSAGE}</text:p> - <text:p text:style-name="P52">By default, <text:span text:style-name="T224">native variables are formatted as </text:span>shell script, namely ${NAME}:</text:p> + <text:p text:style-name="P52">By default, <text:span text:style-name="T222">native variables are formatted as </text:span>shell script, namely ${NAME}:</text:p> <text:p text:style-name="P153">#! /bin/sh</text:p> <text:p text:style-name="P156">NAME='Joe User'</text:p> <text:p text:style-name="P152">echo This experiment was generated by ${NAME}</text:p> - <text:p text:style-name="P53"><text:span text:style-name="T239">T</text:span>o support variable reference<text:span text:style-name="T238">s for other script languages, a</text:span> job specific variable '.var_format' may be defined. <text:span text:style-name="T238">It defines an output format string where any occurrence of '%s' will be replaced by the respective variable name. </text:span>For a Python based script, <text:span text:style-name="T224">this may look like:</text:span></text:p> + <text:p text:style-name="P53"><text:span text:style-name="T237">T</text:span>o support variable reference<text:span text:style-name="T236">s for other script languages, a</text:span> job specific variable '.var_format' may be defined. <text:span text:style-name="T236">It defines an output format string where any occurrence of '%s' will be replaced by the respective variable name. </text:span>For a Python based script, <text:span text:style-name="T222">this may look like:</text:span></text:p> <text:p text:style-name="P155"># joe1234.config</text:p> <text:p text:style-name="P155">NAME = Joe User</text:p> <text:p text:style-name="P155">MESSAGE = This experiment was generated by $${NAME}</text:p> <text:p text:style-name="P167">[jobs]</text:p> - <text:p text:style-name="Preformatted_20_Text"><text:soft-page-break/><text:s text:c="2"/>[[job]]</text:p> - <text:p text:style-name="Preformatted_20_Text_20_Interrupt"><text:s text:c="4"/>.var_format = <text:span text:style-name="T227">"</text:span><text:span text:style-name="T225">' + str(</text:span>%s<text:span text:style-name="T237">)</text:span> <text:span text:style-name="T225">+ '</text:span><text:span text:style-name="T227">"</text:span></text:p> + <text:p text:style-name="Preformatted_20_Text"><text:s text:c="2"/>[[job]]</text:p> + <text:p text:style-name="Preformatted_20_Text_20_Interrupt"><text:s text:c="4"/>.var_format = <text:span text:style-name="T225">"</text:span><text:span text:style-name="T223">' + str(</text:span>%s<text:span text:style-name="T235">)</text:span> <text:span text:style-name="T223">+ '</text:span><text:span text:style-name="T225">"</text:span></text:p> <text:p text:style-name="P156">#%# joe1234.job.tmpl</text:p> - <text:p text:style-name="P168">#! /usr/bin/env python </text:p> + <text:p text:style-name="P168"><text:soft-page-break/>#! /usr/bin/env python </text:p> <text:p text:style-name="Preformatted_20_Text">NAME = '%{NAME}' </text:p> - <text:p text:style-name="Preformatted_20_Text">print<text:span text:style-name="T274">(</text:span>'%{MESSAGE}'<text:span text:style-name="T274">)</text:span> </text:p> + <text:p text:style-name="Preformatted_20_Text">print<text:span text:style-name="T272">(</text:span>'%{MESSAGE}'<text:span text:style-name="T272">)</text:span> </text:p> <text:p text:style-name="P62">This setup will expand to</text:p> <text:p text:style-name="P168">#! /usr/bin/env python </text:p> - <text:p text:style-name="P168">NAME = '<text:span text:style-name="T237">Joe User</text:span>' </text:p> - <text:p text:style-name="P169">print<text:span text:style-name="T274">(</text:span>'<text:span text:style-name="T134">This experiment was generated by </text:span><text:span text:style-name="T143">' + str(</text:span><text:span text:style-name="T134">NAME) </text:span><text:span text:style-name="T143">+ '</text:span>'<text:span text:style-name="T274">)</text:span></text:p> + <text:p text:style-name="P168">NAME = '<text:span text:style-name="T235">Joe User</text:span>' </text:p> + <text:p text:style-name="P169">print<text:span text:style-name="T272">(</text:span>'<text:span text:style-name="T134">This experiment was generated by </text:span><text:span text:style-name="T143">' + str(</text:span><text:span text:style-name="T134">NAME) </text:span><text:span text:style-name="T143">+ '</text:span>'<text:span text:style-name="T272">)</text:span></text:p> <text:h text:style-name="P330" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2574_1114405012"/>Initializing native script variables<text:bookmark-end text:name="__RefHeading__2574_1114405012"/></text:h> - <text:p text:style-name="P64">In the previous section, the native variables were initialized by an addition<text:span text:style-name="T241">al script line. While this is sufficient for a small number of variables, it may be difficult to maintain these initialization lines for a more complex setup with changing requirements.</text:span></text:p> - <text:p text:style-name="P64"><text:span text:style-name="T242">To allow a self-maintaining variable list based on the current configuration, </text:span><text:span text:style-name="T20">mkexp</text:span><text:span text:style-name="T242"> maintains the special variable VARIABLES_. When generating output for</text:span></text:p> + <text:p text:style-name="P64">In the previous section, the native variables were initialized by an addition<text:span text:style-name="T239">al script line. While this is sufficient for a small number of variables, it may be difficult to maintain these initialization lines for a more complex setup with changing requirements.</text:span></text:p> + <text:p text:style-name="P64"><text:span text:style-name="T240">To allow a self-maintaining variable list based on the current configuration, </text:span><text:span text:style-name="T20">mkexp</text:span><text:span text:style-name="T240"> maintains the special variable VARIABLES_. When generating output for</text:span></text:p> <text:p text:style-name="P157">NAME = Joe User</text:p> <text:p text:style-name="P158">EMAIL = joe@domain.tld</text:p> <text:p text:style-name="P170"><text:span text:style-name="T134">MESSAGE = This experiment was generated by $${NAME} </text:span><text:span text:style-name="T145"><$${EMAIL}></text:span></text:p> <text:p text:style-name="P65"><text:span text:style-name="T46">mkexp</text:span><text:span text:style-name="T134"> will parse all values, recognize 'NAME' and 'EMAIL' as native variables, and </text:span><text:span text:style-name="T146">will </text:span><text:span text:style-name="T134">put their names in the VARIABLES_ list. Now we may use the 'for' template directive to generate an additional line for each member of VARIABLES_. To query the value for a given variable name, </text:span><text:span text:style-name="T46">mkexp</text:span><text:span text:style-name="T134"> provides the 'context' function, such that the template</text:span></text:p> <text:p text:style-name="P157">#! /bin/sh</text:p> - <text:p text:style-name="P158">#%# for <text:span text:style-name="T170">variable</text:span> in <text:span text:style-name="T170">VARIABLES_</text:span>:</text:p> - <text:p text:style-name="P158">%{<text:span text:style-name="T170">variable</text:span>}='%{<text:span text:style-name="T170">context(variable)</text:span>}'</text:p> + <text:p text:style-name="P158">#%# for <text:span text:style-name="T168">variable</text:span> in <text:span text:style-name="T168">VARIABLES_</text:span>:</text:p> + <text:p text:style-name="P158">%{<text:span text:style-name="T168">variable</text:span>}='%{<text:span text:style-name="T168">context(variable)</text:span>}'</text:p> <text:p text:style-name="P158">#%# endfor</text:p> - <text:p text:style-name="P158">echo <text:span text:style-name="T226">"</text:span>%{MESSAGE}<text:span text:style-name="T226">"</text:span></text:p> + <text:p text:style-name="P158">echo <text:span text:style-name="T224">"</text:span>%{MESSAGE}<text:span text:style-name="T224">"</text:span></text:p> <text:p text:style-name="P54">eventually yields</text:p> <text:p text:style-name="P157">#! /bin/sh</text:p> - <text:p text:style-name="P170"><text:span text:style-name="T155">EMAIL</text:span><text:span text:style-name="T159">='</text:span><text:span text:style-name="T155">joe@domain.tld</text:span><text:span text:style-name="T159">'</text:span></text:p> - <text:p text:style-name="P170"><text:span text:style-name="T154">NAME</text:span><text:span text:style-name="T158">=</text:span><text:span text:style-name="T159">'</text:span><text:span text:style-name="T154">Joe User</text:span><text:span text:style-name="T159">'</text:span></text:p> - <text:p text:style-name="P170"><text:span text:style-name="T145">echo </text:span><text:span text:style-name="T228">"This experiment was generated by ${NAME} <${EMAIL}>"</text:span></text:p> + <text:p text:style-name="P170"><text:span text:style-name="T153">EMAIL</text:span><text:span text:style-name="T157">='</text:span><text:span text:style-name="T153">joe@domain.tld</text:span><text:span text:style-name="T157">'</text:span></text:p> + <text:p text:style-name="P170"><text:span text:style-name="T152">NAME</text:span><text:span text:style-name="T156">=</text:span><text:span text:style-name="T157">'</text:span><text:span text:style-name="T152">Joe User</text:span><text:span text:style-name="T157">'</text:span></text:p> + <text:p text:style-name="P170"><text:span text:style-name="T145">echo </text:span><text:span text:style-name="T226">"This experiment was generated by ${NAME} <${EMAIL}>"</text:span></text:p> <text:p text:style-name="P67">Note that the order of variable names is not necessarily the order in which they were defined in the .config file.</text:p> - <text:h text:style-name="Heading_20_3" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2576_1114405012"/><text:soft-page-break/>Re-generation of <text:span text:style-name="T240">s</text:span>cripts and <text:span text:style-name="T240">b</text:span>ackup<text:bookmark-end text:name="__RefHeading__2576_1114405012"/></text:h> + <text:h text:style-name="Heading_20_3" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2576_1114405012"/>Re-generation of <text:span text:style-name="T238">s</text:span>cripts and <text:span text:style-name="T238">b</text:span>ackup<text:bookmark-end text:name="__RefHeading__2576_1114405012"/></text:h> <text:p text:style-name="P63">Even the simplest user setup may contain an error. In this case, it is considered good practice to fix this error in the user setup, and to rerun <text:span text:style-name="T9">mkexp.</text:span><text:span text:style-name="T56"> If you want to be really good, you might even start a new experiment from the previous one's restart data.</text:span></text:p> - <text:p text:style-name="P91"><text:span text:style-name="T66">A</text:span><text:span text:style-name="T56">s a convenient short-cut, </text:span><text:span text:style-name="T9">mkexp</text:span><text:span text:style-name="T56"> provides the script 'update' in the script directory. It may be called instead of going back to the 'run' and re-running </text:span><text:span text:style-name="T9">mkexp </text:span><text:span text:style-name="T56">directly. The update script records all command line settings and environment settings that were used for running </text:span><text:span text:style-name="T9">mkexp</text:span><text:span text:style-name="T56"> so that './update' reg</text:span><text:span text:style-name="T101">e</text:span><text:span text:style-name="T56">nerates the scripts exactly as they were created, without having to re-construct the exact settings. Like mkexp, update allows to set or change variables on the command line, e.g.</text:span></text:p> + <text:p text:style-name="P91"><text:soft-page-break/><text:span text:style-name="T66">A</text:span><text:span text:style-name="T56">s a convenient short-cut, </text:span><text:span text:style-name="T9">mkexp</text:span><text:span text:style-name="T56"> provides the script 'update' in the script directory. It may be called instead of going back to the 'run' and re-running </text:span><text:span text:style-name="T9">mkexp </text:span><text:span text:style-name="T56">directly. The update script records all command line settings and environment settings that were used for running </text:span><text:span text:style-name="T9">mkexp</text:span><text:span text:style-name="T56"> so that './update' reg</text:span><text:span text:style-name="T101">e</text:span><text:span text:style-name="T56">nerates the scripts exactly as they were created, without having to re-construct the exact settings. Like mkexp, update allows to set or change variables on the command line, e.g.</text:span></text:p> <text:p text:style-name="P147">./update FINAL_DATE=2015-12-31</text:p> <text:p text:style-name="P91">may be used to regenerate scripts with a new final date. Note that these settings are also recorded, i.e. running just './update' the next time will again set FINAL_DATE.</text:p> <text:p text:style-name="P63"><text:span text:style-name="T56">Of course, there is also the possibility to </text:span><text:span text:style-name="T66">change</text:span><text:span text:style-name="T56"> the </text:span><text:span text:style-name="T19">generated</text:span><text:span text:style-name="T65"> </text:span><text:span text:style-name="T56">job scripts directly, and then go on. This is fine as long as the required setting is using a native variable or is otherwise easily editable. On the other hand, </text:span><text:span text:style-name="T67">facing</text:span><text:span text:style-name="T56"> the next </text:span><text:span text:style-name="T67">change,</text:span><text:span text:style-name="T56"> this might not be the case, so eventually you </text:span><text:span text:style-name="T65">may</text:span><text:span text:style-name="T56"> need to re-generate the whole thing. What now about those manual changes to the job scripts?</text:span></text:p> <text:p text:style-name="P63"><text:span text:style-name="T56">Whenever </text:span><text:span text:style-name="T9">mkexp</text:span><text:span text:style-name="T56"> sees existing job scripts while trying to generate the new description, it will automatically create backup files. They are placed in a subdirectory of SCRIPT_DIR, named 'backup'. </text:span><text:span text:style-name="T65">Also, the scripts for each regeneration are bundled in their own subdirectory, named after the current date-time stamp. </text:span><text:span text:style-name="T66">This way you may easily compare old and new scripts to evaluate and possibly transfer any manual changes </text:span><text:span text:style-name="T101">after a necessary regeneration</text:span><text:span text:style-name="T66">.</text:span></text:p> <text:h text:style-name="Heading_20_2" text:outline-level="2"><text:bookmark-start text:name="__RefHeading__2564_1114405012"/>Standard environments<text:bookmark-end text:name="__RefHeading__2564_1114405012"/></text:h> - <text:p text:style-name="P12">The above examples neglect an important feature <text:span text:style-name="T169">of job descriptions, namely the system or machine dependent set up. Different computing centers use different job control software and naming conventions, might provide different versions of the same software at differing locations. This needs to be handled in a way that is independent of the other configuration as far as possible.</text:span></text:p> + <text:p text:style-name="P12">The above examples neglect an important feature <text:span text:style-name="T167">of job descriptions, namely the system or machine dependent set up. Different computing centers use different job control software and naming conventions, might provide different versions of the same software at differing locations. This needs to be handled in a way that is independent of the other configuration as far as possible.</text:span></text:p> <text:p text:style-name="P13">For this, a standard environment, like a standard experiment, consists of a .config file and a corresponding template. The <text:span text:style-name="T9">environmentname</text:span>.config file contains settings like directory paths or a description of machine capacities for job control</text:p> - <text:p text:style-name="P13">The actual job control headers needed to run a certain job step are saved as <text:span text:style-name="T9">environmentname</text:span>.tmpl. This template will be filled using configuration information from both experiment, options, and environment. <text:span text:style-name="T187">The resulting job header</text:span> is usually included at the beginning of the experiment's job script templates.</text:p> - <text:p text:style-name="P9"><text:soft-page-break/>An experiment configuration <text:span text:style-name="T243">may</text:span> <text:span text:style-name="T243">set</text:span> the special variable E<text:span text:style-name="T243">NVIRONMENT</text:span> to the name of <text:span text:style-name="T243">the host </text:span>e<text:span text:style-name="T243">nvironment</text:span> to use. <text:span text:style-name="T243">If it is not set, or empty, the 'DEFAULT' environment settings will be used.</text:span></text:p> - <text:h text:style-name="P344" text:outline-level="2"><text:bookmark-start text:name="__RefHeading__1883_1672291846"/>Defining namelists and other configuration files<text:bookmark-end text:name="__RefHeading__1883_1672291846"/></text:h> + <text:p text:style-name="P13">The actual job control headers needed to run a certain job step are saved as <text:span text:style-name="T9">environmentname</text:span>.tmpl. This template will be filled using configuration information from both experiment, options, and environment. <text:span text:style-name="T185">The resulting job header</text:span> is usually included at the beginning of the experiment's job script templates.</text:p> + <text:p text:style-name="P9">An experiment configuration <text:span text:style-name="T241">may</text:span> <text:span text:style-name="T241">set</text:span> the special variable E<text:span text:style-name="T241">NVIRONMENT</text:span> to the name of <text:span text:style-name="T241">the host </text:span>e<text:span text:style-name="T241">nvironment</text:span> to use. <text:span text:style-name="T241">If it is not set, or empty, the 'DEFAULT' environment settings will be used.</text:span></text:p> + <text:h text:style-name="P344" text:outline-level="2"><text:bookmark-start text:name="__RefHeading__1883_1672291846"/><text:soft-page-break/>Defining namelists and other configuration files<text:bookmark-end text:name="__RefHeading__1883_1672291846"/></text:h> <text:p text:style-name="P72"><text:span text:style-name="T78">Most models need at least one Fortran namelist file or another form of configuration file to run. </text:span><text:span text:style-name="T79">The special section [namelists] </text:span><text:span text:style-name="T78">is designed to </text:span><text:span text:style-name="T79">contain all information that goes into </text:span><text:span text:style-name="T78">these</text:span><text:span text:style-name="T79"> files. Each </text:span><text:span text:style-name="T76">immediate </text:span><text:span text:style-name="T79">subsection defines settings for a single file that will </text:span><text:span text:style-name="T78">by default be </text:span><text:span text:style-name="T79">formatted as a Fortran namelist. </text:span><text:span text:style-name="T78">For </text:span><text:span text:style-name="T79">example,</text:span></text:p> <text:p text:style-name="P171">[namelists]</text:p> <text:p text:style-name="P183"/> - <text:p text:style-name="P171"><text:s text:c="2"/>[[<text:span text:style-name="T255">namelist.echam</text:span>]] </text:p> + <text:p text:style-name="P171"><text:s text:c="2"/>[[<text:span text:style-name="T253">namelist.echam</text:span>]] </text:p> <text:p text:style-name="P171"><text:s text:c="4"/>[[[runctl]]] </text:p> <text:p text:style-name="P171"><text:s text:c="6"/>lamip = true</text:p> - <text:p text:style-name="P171"><text:s text:c="6"/><text:span text:style-name="T264">nproma = 48</text:span></text:p> + <text:p text:style-name="P171"><text:s text:c="6"/><text:span text:style-name="T262">nproma = 48</text:span></text:p> <text:p text:style-name="P175"><text:s text:c="6"/>earth_angular_velocity = 7.3e-5</text:p> <text:p text:style-name="P175"><text:s text:c="6"/>out_expname = joe1234</text:p> - <text:p text:style-name="P175"><text:s text:c="6"/><text:span text:style-name="T256">dt_stop = 2009, 1, 1, 0, 0, 0</text:span></text:p> + <text:p text:style-name="P175"><text:s text:c="6"/><text:span text:style-name="T254">dt_stop = 2009, 1, 1, 0, 0, 0</text:span></text:p> <text:p text:style-name="P69"><text:span text:style-name="T56">defines </text:span><text:span text:style-name="T77">a single </text:span><text:span text:style-name="T56">namelist file, </text:span><text:span text:style-name="T80">'namelist.echam'</text:span><text:span text:style-name="T56">, </text:span><text:span text:style-name="T78">containing a single namelist group with four variables of different types. Note </text:span><text:span text:style-name="T97">that you do not </text:span><text:span text:style-name="T78">need to use quotes for strings nor periods for logical values.</text:span></text:p> <text:h text:style-name="P326" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2578_1114405012"/>Formatting the namelist information<text:bookmark-end text:name="__RefHeading__2578_1114405012"/></text:h> - <text:p text:style-name="P101"><text:span text:style-name="T76">The </text:span><text:span text:style-name="T77">names of the </text:span><text:span text:style-name="T76">subsections of each namelist file entry, i.e. the second level subsections under the immediate subsections of [namelists], are taken as namelist group </text:span><text:span text:style-name="T77">name</text:span><text:span text:style-name="T76">s, and their variables are formatted as fields of this namelist </text:span><text:span text:style-name="T77">group</text:span><text:span text:style-name="T76">. </text:span><text:span text:style-name="T77">In the example above, there is a single namelist group 'runctl', which will be converted to the Fortran namelist convention. </text:span><text:span text:style-name="T255">The values of the group's fields are checked to determine whether they are numerical, logical, or string values. Logical and string values will then be formatted using periods or quotes, respectively.</text:span></text:p> - <text:p text:style-name="P75"><text:span text:style-name="T275">In the example above, the first four fields are single values of logical, integer, floating point, and string type.</text:span><text:span text:style-name="T80"> The fifth is a list of integer values, that will be passed as such to the namelist file:</text:span></text:p> + <text:p text:style-name="P101"><text:span text:style-name="T76">The </text:span><text:span text:style-name="T77">names of the </text:span><text:span text:style-name="T76">subsections of each namelist file entry, i.e. the second level subsections under the immediate subsections of [namelists], are taken as namelist group </text:span><text:span text:style-name="T77">name</text:span><text:span text:style-name="T76">s, and their variables are formatted as fields of this namelist </text:span><text:span text:style-name="T77">group</text:span><text:span text:style-name="T76">. </text:span><text:span text:style-name="T77">In the example above, there is a single namelist group 'runctl', which will be converted to the Fortran namelist convention. </text:span><text:span text:style-name="T253">The values of the group's fields are checked to determine whether they are numerical, logical, or string values. Logical and string values will then be formatted using periods or quotes, respectively.</text:span></text:p> + <text:p text:style-name="P75"><text:span text:style-name="T273">In the example above, the first four fields are single values of logical, integer, floating point, and string type.</text:span><text:span text:style-name="T80"> The fifth is a list of integer values, that will be passed as such to the namelist file:</text:span></text:p> <text:p text:style-name="P137">&runctl</text:p> - <text:p text:style-name="P177"><text:s text:c="4"/>lamip = <text:span text:style-name="T170">.true.</text:span></text:p> - <text:p text:style-name="P177"><text:s text:c="4"/><text:span text:style-name="T255">nproma = </text:span><text:span text:style-name="T175">48</text:span></text:p> - <text:p text:style-name="P176"><text:s text:c="4"/>earth_angular_velocity = <text:span text:style-name="T170">7.3e-5</text:span></text:p> - <text:p text:style-name="P176"><text:s text:c="4"/>out_expname = <text:span text:style-name="T176">'</text:span><text:span text:style-name="T170">joe1234</text:span><text:span text:style-name="T176">'</text:span></text:p> - <text:p text:style-name="P176"><text:span text:style-name="T80"><text:s text:c="4"/>dt_stop = </text:span><text:span text:style-name="T161">2009, 1, 1, 0, 0, 0</text:span></text:p> + <text:p text:style-name="P177"><text:s text:c="4"/>lamip = <text:span text:style-name="T168">.true.</text:span></text:p> + <text:p text:style-name="P177"><text:s text:c="4"/><text:span text:style-name="T253">nproma = </text:span><text:span text:style-name="T173">48</text:span></text:p> + <text:p text:style-name="P176"><text:s text:c="4"/>earth_angular_velocity = <text:span text:style-name="T168">7.3e-5</text:span></text:p> + <text:p text:style-name="P176"><text:s text:c="4"/>out_expname = <text:span text:style-name="T174">'</text:span><text:span text:style-name="T168">joe1234</text:span><text:span text:style-name="T174">'</text:span></text:p> + <text:p text:style-name="P176"><text:span text:style-name="T80"><text:s text:c="4"/>dt_stop = </text:span><text:span text:style-name="T159">2009, 1, 1, 0, 0, 0</text:span></text:p> <text:p text:style-name="P159">/</text:p> <text:p text:style-name="P102">Please note that both group and field names are converted to lower case! Two fields named 'key' and 'Key' will result in two 'key = …' lines, and will cause trouble. We recommend using lower case for all group and field names.</text:p> - <text:h text:style-name="P335" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2580_1114405012"/><text:soft-page-break/><text:span text:style-name="T78">S</text:span><text:span text:style-name="T56">uppressing namelist </text:span><text:span text:style-name="T132">files, </text:span><text:span text:style-name="T56">groups, or variables</text:span><text:bookmark-end text:name="__RefHeading__2580_1114405012"/></text:h> - <text:p text:style-name="P106"><text:span text:style-name="T56">If you want to </text:span><text:span text:style-name="T120">disable</text:span><text:span text:style-name="T56"> a namelist group </text:span><text:span text:style-name="T132">or a whole namelist file </text:span><text:span text:style-name="T56">defined on a higher setup level, you may </text:span><text:span text:style-name="T132">set a</text:span><text:span text:style-name="T56"> special</text:span><text:span text:style-name="T132"> v</text:span><text:span text:style-name="T56">ariable '.hide' to </text:span><text:span text:style-name="T120">'</text:span><text:span text:style-name="T56">true</text:span><text:span text:style-name="T120">' </text:span><text:span text:style-name="T132">in the corresponding section</text:span><text:span text:style-name="T56">. </text:span><text:span text:style-name="T120">As you may suspect, setting '.hide' to 'false' for </text:span><text:span text:style-name="T133">elements</text:span><text:span text:style-name="T120"> that were hidden on a higher setup level will re-enable the</text:span><text:span text:style-name="T121">m</text:span><text:span text:style-name="T120">.</text:span></text:p> - <text:p text:style-name="P112"><text:span text:style-name="T120">T</text:span><text:span text:style-name="T127">o disable a </text:span><text:span text:style-name="T128">single </text:span><text:span text:style-name="T127">namelist variable, simply </text:span><text:span text:style-name="T336">omit the value after the equals sign. This is taken to be an empty string, causing the variable to not be written </text:span><text:span text:style-name="T337">to the namelist file</text:span><text:span text:style-name="T336">, so the default value is used instead. </text:span><text:span text:style-name="T337">Setting the variable to a non-empty value i</text:span><text:span text:style-name="T338">n a higher </text:span><text:span text:style-name="T337">level</text:span><text:span text:style-name="T338"> .</text:span><text:span text:style-name="T337">config file will re-enable it.</text:span></text:p> - <text:p text:style-name="P110"><text:span text:style-name="T336">If the empty string is a valid value in </text:span><text:span text:style-name="T337">your namelist</text:span><text:span text:style-name="T336">, you may set the special variable '.default' to an alternative string to be used as default marker instead of the empty string. This can be done both on namelist and group level.</text:span></text:p> + <text:h text:style-name="P335" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2580_1114405012"/><text:span text:style-name="T78">S</text:span><text:span text:style-name="T56">uppressing namelist </text:span><text:span text:style-name="T132">files, </text:span><text:span text:style-name="T56">groups, or variables</text:span><text:bookmark-end text:name="__RefHeading__2580_1114405012"/></text:h> + <text:p text:style-name="P106"><text:span text:style-name="T56">If you want to </text:span><text:span text:style-name="T120">disable</text:span><text:span text:style-name="T56"> a namelist group </text:span><text:span text:style-name="T132">or a whole namelist file </text:span><text:span text:style-name="T56">defined on a higher setup level, you may </text:span><text:span text:style-name="T132">set a</text:span><text:span text:style-name="T56"> special</text:span><text:span text:style-name="T132"> v</text:span><text:span text:style-name="T56">ariable '.hide' to </text:span><text:span text:style-name="T120">'</text:span><text:span text:style-name="T56">true</text:span><text:span text:style-name="T120">' </text:span><text:span text:style-name="T132">in the corresponding section</text:span><text:span text:style-name="T56">. </text:span><text:soft-page-break/><text:span text:style-name="T120">As you may suspect, setting '.hide' to 'false' for </text:span><text:span text:style-name="T133">elements</text:span><text:span text:style-name="T120"> that were hidden on a higher setup level will re-enable the</text:span><text:span text:style-name="T121">m</text:span><text:span text:style-name="T120">.</text:span></text:p> + <text:p text:style-name="P112"><text:span text:style-name="T120">T</text:span><text:span text:style-name="T127">o disable a </text:span><text:span text:style-name="T128">single </text:span><text:span text:style-name="T127">namelist variable, simply </text:span><text:span text:style-name="T334">omit the value after the equals sign. This is taken to be an empty string, causing the variable to not be written </text:span><text:span text:style-name="T335">to the namelist file</text:span><text:span text:style-name="T334">, so the default value is used instead. </text:span><text:span text:style-name="T335">Setting the variable to a non-empty value i</text:span><text:span text:style-name="T336">n a higher </text:span><text:span text:style-name="T335">level</text:span><text:span text:style-name="T336"> .</text:span><text:span text:style-name="T335">config file will re-enable it.</text:span></text:p> + <text:p text:style-name="P110"><text:span text:style-name="T334">If the empty string is a valid value in </text:span><text:span text:style-name="T335">your namelist</text:span><text:span text:style-name="T334">, you may set the special variable '.default' to an alternative string to be used as default marker instead of the empty string. This can be done both on namelist and group level.</text:span></text:p> <text:p text:style-name="P111"><text:span text:style-name="T128">As a legacy, t</text:span><text:span text:style-name="T56">he namelist group section also honors the special variable '.remove' which may be set to a list of names. Any variables listed in the '.remove' variable will be deleted from the namelist group definition. </text:span><text:span text:style-name="T128">Note that, w</text:span><text:span text:style-name="T129">hile '.remove' is useful to </text:span><text:span text:style-name="T87">suppress</text:span><text:span text:style-name="T129"> default settings that must not be present for the experiment setup, currently there is no way to resurrect a removed setting in a later setup level. </text:span><text:span text:style-name="T88">Therefore, its use in model setups is strongly discouraged.</text:span></text:p> <text:h text:style-name="P336" text:outline-level="3"><text:bookmark-start text:name="__RefHeading___Toc4310_4067847427"/>Comments in namelists<text:bookmark-end text:name="__RefHeading___Toc4310_4067847427"/></text:h> - <text:p text:style-name="P107">In general, <text:span text:style-name="T327">'#' </text:span>comments in namelist or group sections will by converted to Fortran 90 <text:span text:style-name="T327">'!' </text:span>comments. In-line comments for <text:span text:style-name="T327">individual</text:span> settings are also recognized.</text:p> + <text:p text:style-name="P107">In general, <text:span text:style-name="T325">'#' </text:span>comments in namelist or group sections will by converted to Fortran 90 <text:span text:style-name="T325">'!' </text:span>comments. In-line comments for <text:span text:style-name="T325">individual</text:span> settings are also recognized.</text:p> <text:p text:style-name="P139"># Run time settings</text:p> <text:p text:style-name="P193">[[[runctl]]]</text:p> - <text:p text:style-name="P193"><text:s text:c="4"/>lamip = true <text:span text:style-name="T181"># Use AMIP conventions</text:span></text:p> + <text:p text:style-name="P193"><text:s text:c="4"/>lamip = true <text:span text:style-name="T179"># Use AMIP conventions</text:span></text:p> <text:p text:style-name="P139"><text:s text:c="4"/># Block size for optimization</text:p> - <text:p text:style-name="Preformatted_20_Text_20_Interrupt"><text:s text:c="4"/><text:span text:style-name="T264">nproma = 48</text:span></text:p> + <text:p text:style-name="Preformatted_20_Text_20_Interrupt"><text:s text:c="4"/><text:span text:style-name="T262">nproma = 48</text:span></text:p> <text:p text:style-name="P139">! Run time settings</text:p> <text:p text:style-name="P194">&runctl</text:p> - <text:p text:style-name="P194"><text:s text:c="4"/>lamip = .true. <text:span text:style-name="T181">! Use AMIP conventions</text:span></text:p> + <text:p text:style-name="P194"><text:s text:c="4"/>lamip = .true. <text:span text:style-name="T179">! Use AMIP conventions</text:span></text:p> <text:p text:style-name="P139"><text:s text:c="4"/>! Block size for optimization</text:p> - <text:p text:style-name="P194"><text:s text:c="4"/><text:span text:style-name="T255">nproma = 48</text:span></text:p> + <text:p text:style-name="P194"><text:s text:c="4"/><text:span text:style-name="T253">nproma = 48</text:span></text:p> <text:p text:style-name="P108">In addition, <text:span text:style-name="T9">mkexp</text:span><text:span text:style-name="T56"> </text:span><text:span text:style-name="T125">recognises namelist settings </text:span><text:span text:style-name="T56">that were commented out. </text:span><text:span text:style-name="T125">For these, the formatting of values as described before is also carried out within the comment.</text:span></text:p> - <text:p text:style-name="Preformatted_20_Text_20_Interrupt"><text:s text:c="4"/><text:span text:style-name="T181"># </text:span>lamip = true <text:span text:style-name="T209"># Use AMIP conventions</text:span></text:p> - <text:p text:style-name="P194"><text:s text:c="4"/><text:span text:style-name="T170">!</text:span> lamip = <text:span text:style-name="T170">.true.</text:span> <text:span text:style-name="T181">! </text:span><text:span text:style-name="T328">Use AMIP conventions</text:span></text:p> - <text:p text:style-name="P109">There is one hitch: if the last setting in a group is commented, the <text:span text:style-name="T44">configobj </text:span>library <text:span text:style-name="T329">will take this line to be a group comment for the following group. To work around this, </text:span><text:span text:style-name="T44">mkexp</text:span><text:span text:style-name="T126"> recognises a special namelist variable '.end' to keep the commented setting with the first group.</text:span></text:p> - <text:p text:style-name="P200"><text:soft-page-break/>[[[parctl]]]</text:p> - <text:p text:style-name="P199"><text:s text:c="4"/><text:span text:style-name="T329"># nprocb = 48 </text:span><text:span text:style-name="T210"># </text:span><text:span text:style-name="T211">E</text:span><text:span text:style-name="T210">nd</text:span><text:span text:style-name="T211">s</text:span><text:span text:style-name="T210"> up with 'runctl' </text:span><text:span text:style-name="T211">instead</text:span></text:p> + <text:p text:style-name="Preformatted_20_Text_20_Interrupt"><text:s text:c="4"/><text:span text:style-name="T179"># </text:span>lamip = true <text:span text:style-name="T207"># Use AMIP conventions</text:span></text:p> + <text:p text:style-name="P194"><text:s text:c="4"/><text:span text:style-name="T168">!</text:span> lamip = <text:span text:style-name="T168">.true.</text:span> <text:span text:style-name="T179">! </text:span><text:span text:style-name="T326">Use AMIP conventions</text:span></text:p> + <text:p text:style-name="P109">There is one hitch: if the last setting in a group is commented, the <text:span text:style-name="T44">configobj </text:span>library <text:span text:style-name="T327">will take this line to be a group comment for the following group. To work around this, </text:span><text:span text:style-name="T44">mkexp</text:span><text:span text:style-name="T126"> recognises a special namelist variable '.end' to keep the commented setting with the first group.</text:span></text:p> + <text:p text:style-name="P200">[[[parctl]]]</text:p> + <text:p text:style-name="P199"><text:s text:c="4"/><text:span text:style-name="T327"># nprocb = 48 </text:span><text:span text:style-name="T208"># </text:span><text:span text:style-name="T209">E</text:span><text:span text:style-name="T208">nd</text:span><text:span text:style-name="T209">s</text:span><text:span text:style-name="T208"> up with 'runctl' </text:span><text:span text:style-name="T209">instead</text:span></text:p> <text:p text:style-name="Preformatted_20_Text">[[[runctl]]]</text:p> - <text:p text:style-name="P195"><text:s text:c="4"/><text:span text:style-name="T330"># </text:span>lamip = true <text:span text:style-name="T330"># Stays with 'runctl'</text:span></text:p> - <text:p text:style-name="P195"><text:s text:c="4"/><text:span text:style-name="T170">.</text:span><text:span text:style-name="T183">end = </text:span></text:p> + <text:p text:style-name="P195"><text:soft-page-break/><text:s text:c="4"/><text:span text:style-name="T328"># </text:span>lamip = true <text:span text:style-name="T328"># Stays with 'runctl'</text:span></text:p> + <text:p text:style-name="P195"><text:s text:c="4"/><text:span text:style-name="T168">.</text:span><text:span text:style-name="T181">end = </text:span></text:p> <text:p text:style-name="Preformatted_20_Text_20_Interrupt">[[[dynctl]]]</text:p> - <text:p text:style-name="P199"><text:span text:style-name="T204">&</text:span><text:span text:style-name="T211">parctl</text:span></text:p> + <text:p text:style-name="P199"><text:span text:style-name="T202">&</text:span><text:span text:style-name="T209">parctl</text:span></text:p> <text:p text:style-name="P197">/</text:p> - <text:p text:style-name="P199"><text:span text:style-name="T211">! </text:span><text:span text:style-name="T210">nprocb = 48 ! </text:span><text:span text:style-name="T211">E</text:span><text:span text:style-name="T210">nd</text:span><text:span text:style-name="T211">s</text:span><text:span text:style-name="T210"> up with 'runctl' </text:span><text:span text:style-name="T211">instead</text:span></text:p> + <text:p text:style-name="P199"><text:span text:style-name="T209">! </text:span><text:span text:style-name="T208">nprocb = 48 ! </text:span><text:span text:style-name="T209">E</text:span><text:span text:style-name="T208">nd</text:span><text:span text:style-name="T209">s</text:span><text:span text:style-name="T208"> up with 'runctl' </text:span><text:span text:style-name="T209">instead</text:span></text:p> <text:p text:style-name="P196">&runctl</text:p> <text:p text:style-name="P196"><text:s text:c="4"/>! lamip = .true. ! Stays with 'runctl'</text:p> <text:p text:style-name="P198">/</text:p> @@ -3447,7 +3385,7 @@ <text:p text:style-name="P72"><text:span text:style-name="T69">The name of </text:span><text:span text:style-name="T80">this </text:span><text:span text:style-name="T69">variable</text:span><text:span text:style-name="T70"> </text:span><text:span text:style-name="T80">is</text:span><text:span text:style-name="T69"> generated from </text:span><text:span text:style-name="T80">its</text:span><text:span text:style-name="T69"> </text:span><text:span text:style-name="T70">respective</text:span><text:span text:style-name="T69"> file name, </text:span><text:span text:style-name="T80">like</text:span><text:span text:style-name="T69"> 'namelist.echam', by </text:span><text:span text:style-name="T79">converting all letters to upper case </text:span><text:span text:style-name="T69">(</text:span><text:span text:style-name="T79">namelist.echam →</text:span><text:span text:style-name="T69"> </text:span><text:span text:style-name="T79">NAMELIST.ECHAM</text:span><text:span text:style-name="T69">) </text:span><text:span text:style-name="T70">and </text:span><text:span text:style-name="T69">replacing non-word characters by an underscore (NAMELIST.ECHAM → NAMELIST_ECHAM).</text:span></text:p> <text:p text:style-name="Preformatted_20_Text"># joe1234.config</text:p> <text:p text:style-name="Preformatted_20_Text">[namelists]</text:p> - <text:p text:style-name="Preformatted_20_Text"><text:s text:c="2"/><text:span text:style-name="T170">[[namelist.echam]]</text:span></text:p> + <text:p text:style-name="Preformatted_20_Text"><text:s text:c="2"/><text:span text:style-name="T168">[[namelist.echam]]</text:span></text:p> <text:p text:style-name="Preformatted_20_Text"><text:s text:c="4"/>[[[runctl]]]</text:p> <text:p text:style-name="Preformatted_20_Text_20_Interrupt"><text:s text:c="6"/>out_expname = $${EXP_ID}</text:p> <text:p text:style-name="P172">#! /bin/sh</text:p> @@ -3465,26 +3403,26 @@ <text:p text:style-name="P123">EOF</text:p> <text:p text:style-name="P73"><text:span text:style-name="T80">Note how this setup uses the native script variable 'EXP_ID' to set the </text:span><text:span text:style-name="T76">namelist contents.</text:span></text:p> <text:p text:style-name="P103"><text:span text:style-name="T56">As an option, the namelist text may be formatted using the global function 'format_namelist', </text:span><text:span text:style-name="T119">taking the namelist section as argument.</text:span></text:p> - <text:p text:style-name="P173"><text:soft-page-break/>#! /bin/sh</text:p> - <text:p text:style-name="P191">EXP_ID=%{EXP_ID}</text:p> + <text:p text:style-name="P173">#! /bin/sh</text:p> + <text:p text:style-name="P191"><text:soft-page-break/>EXP_ID=%{EXP_ID}</text:p> <text:p text:style-name="P125">cat > namelist.echam << EOF</text:p> - <text:p text:style-name="P134">%{<text:span text:style-name="T320">format_namelist(namelists['namelist.echam'])</text:span>}</text:p> + <text:p text:style-name="P134">%{<text:span text:style-name="T318">format_namelist(namelists['namelist.echam'])</text:span>}</text:p> <text:p text:style-name="P148">EOF</text:p> <text:p text:style-name="P104"><text:span text:style-name="T119">T</text:span><text:span text:style-name="T56">he result will be the same as </text:span><text:span text:style-name="T119">in the original example</text:span><text:span text:style-name="T56">.</text:span></text:p> <text:p text:style-name="P104"><text:span text:style-name="T119">Additionally, </text:span><text:span text:style-name="T118">'format_namelist' can take the name of a group within the namelist as a second argument, allowing to format groups individually.</text:span></text:p> <text:p text:style-name="P174">#! /bin/sh</text:p> <text:p text:style-name="P192">EXP_ID=%{EXP_ID}</text:p> <text:p text:style-name="P126">cat > namelist.echam << EOF</text:p> - <text:p text:style-name="P135">%<text:span text:style-name="T204">{</text:span><text:span text:style-name="T208">format_namelist(namelists['namelist.echam']</text:span><text:span text:style-name="T320">, 'runctl'</text:span><text:span text:style-name="T208">)</text:span><text:span text:style-name="T204">}</text:span></text:p> + <text:p text:style-name="P135">%<text:span text:style-name="T202">{</text:span><text:span text:style-name="T206">format_namelist(namelists['namelist.echam']</text:span><text:span text:style-name="T318">, 'runctl'</text:span><text:span text:style-name="T206">)</text:span><text:span text:style-name="T202">}</text:span></text:p> <text:p text:style-name="P149">EOF</text:p> <text:p text:style-name="P58">In this special case the result will still be the same, as 'runctl' is the only group within 'namelist.echam'.</text:p> <text:p text:style-name="P74"><text:span text:style-name="T81">As </text:span><text:span text:style-name="T117">shown </text:span><text:span text:style-name="T81">in the example</text:span><text:span text:style-name="T117">s</text:span><text:span text:style-name="T81"> above, the script template is responsible for writing the namelist text to an actual file. </text:span><text:span text:style-name="T80">While in general the namelist file takes the same name as the .config subsection defining it, </text:span><text:span text:style-name="T25">mkexp</text:span><text:span text:style-name="T80"> </text:span><text:span text:style-name="T117">will not</text:span><text:span text:style-name="T80"> enforce this. The template needs to be set up accordingly.</text:span></text:p> <text:h text:style-name="P332" text:outline-level="3"><text:bookmark-start text:name="__RefHeading___Toc3662_1790556471"/>Using native script variables in namelists<text:bookmark-end text:name="__RefHeading___Toc3662_1790556471"/></text:h> <text:p text:style-name="P92">When using native script variables in a namelist, it may be necessary to suppress the conversion of values to namelist conventions. Consider</text:p> <text:p text:style-name="P186">[namelists]</text:p> - <text:p text:style-name="P186"><text:s text:c="2"/><text:span text:style-name="T280">[[namelist.echam]]</text:span></text:p> - <text:p text:style-name="P186"><text:s text:c="4"/><text:span text:style-name="T280">[[[runctl]]]</text:span></text:p> - <text:p text:style-name="Preformatted_20_Text_20_Interrupt"><text:s text:c="6"/><text:span text:style-name="T280">dt_stop = $$final_date</text:span></text:p> + <text:p text:style-name="P186"><text:s text:c="2"/><text:span text:style-name="T278">[[namelist.echam]]</text:span></text:p> + <text:p text:style-name="P186"><text:s text:c="4"/><text:span text:style-name="T278">[[[runctl]]]</text:span></text:p> + <text:p text:style-name="Preformatted_20_Text_20_Interrupt"><text:s text:c="6"/><text:span text:style-name="T278">dt_stop = $$final_date</text:span></text:p> <text:p text:style-name="P160">final_date='2015, 12, 31, 23, 52, 30'</text:p> <text:p text:style-name="P124">cat > namelist.echam << EOF</text:p> <text:p text:style-name="P133">%{NAMELIST_ECHAM}</text:p> @@ -3502,24 +3440,24 @@ <text:p text:style-name="List_20_Heading"><text:span text:style-name="T56">.</text:span><text:span text:style-name="T107">sub_dir</text:span></text:p> <text:p text:style-name="P260"><text:span text:style-name="T108">file names are taken to be relative to this subdirectory of </text:span><text:span text:style-name="T56">'.base_dir'</text:span></text:p> <text:p text:style-name="P66"><text:span text:style-name="T150">For expanding the resulting file path</text:span><text:span text:style-name="T134">, </text:span><text:span text:style-name="T46">mkexp</text:span><text:span text:style-name="T134"> provides </text:span><text:span text:style-name="T151">two</text:span><text:span text:style-name="T150"> global function</text:span><text:span text:style-name="T151">s</text:span><text:span text:style-name="T150">:</text:span></text:p> - <text:p text:style-name="P288"><text:span text:style-name="T134">get_file</text:span><text:span text:style-name="T158">(</text:span><text:span text:style-name="T48">section</text:span><text:span text:style-name="T158">, </text:span><text:span text:style-name="T48">name</text:span><text:span text:style-name="T158">)</text:span></text:p> - <text:p text:style-name="P236">returns the full path for file <text:span text:style-name="T9">name</text:span> as given in the <text:span text:style-name="T9">section</text:span> object. Note that <text:span text:style-name="T9">section</text:span> is given as object reference, but <text:span text:style-name="Variable">name</text:span> is given as a string. <text:span text:style-name="T319">If the value of </text:span><text:span text:style-name="Variable"><text:span text:style-name="T319">name</text:span></text:span><text:span text:style-name="T319"> is an absolute file name, it will override .base_dir and .sub_dir. If it contains native script variables, they are expanded to their top-level configuration values; if none is found, the native script variables are formatted as described before.</text:span></text:p> - <text:p text:style-name="P296"><text:span text:style-name="T170">get_dir</text:span>(<text:span text:style-name="T9">section</text:span><text:span text:style-name="T56">)</text:span></text:p> - <text:p text:style-name="P236"><text:span text:style-name="T56">returns the </text:span><text:span text:style-name="T319">directory for the </text:span><text:span text:style-name="T56">given </text:span><text:span text:style-name="T9">section</text:span><text:span text:style-name="T56"> object</text:span></text:p> + <text:p text:style-name="P288"><text:span text:style-name="T134">get_file</text:span><text:span text:style-name="T156">(</text:span><text:span text:style-name="T48">section</text:span><text:span text:style-name="T156">, </text:span><text:span text:style-name="T48">name</text:span><text:span text:style-name="T156">)</text:span></text:p> + <text:p text:style-name="P236">returns the full path for file <text:span text:style-name="T9">name</text:span> as given in the <text:span text:style-name="T9">section</text:span> object. Note that <text:span text:style-name="T9">section</text:span> is given as object reference, but <text:span text:style-name="Variable">name</text:span> is given as a string. <text:span text:style-name="T317">If the value of </text:span><text:span text:style-name="Variable"><text:span text:style-name="T317">name</text:span></text:span><text:span text:style-name="T317"> is an absolute file name, it will override .base_dir and .sub_dir. If it contains native script variables, they are expanded to their top-level configuration values; if none is found, the native script variables are formatted as described before.</text:span></text:p> + <text:p text:style-name="P296"><text:span text:style-name="T168">get_dir</text:span>(<text:span text:style-name="T9">section</text:span><text:span text:style-name="T56">)</text:span></text:p> + <text:p text:style-name="P236"><text:span text:style-name="T56">returns the </text:span><text:span text:style-name="T317">directory for the </text:span><text:span text:style-name="T56">given </text:span><text:span text:style-name="T9">section</text:span><text:span text:style-name="T56"> object</text:span></text:p> <text:p text:style-name="P89"><text:span text:style-name="T107">Other than that, t</text:span><text:span text:style-name="T100">here are no restrictions on the content structure of this section, and the job script templates are responsible for converting this content into a suitable script text.</text:span></text:p> - <text:h text:style-name="P325" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2833_1132221942"/>Overriding <text:span text:style-name="T278">input file</text:span>s <text:span text:style-name="T278">for certain</text:span> jobs<text:bookmark-end text:name="__RefHeading__2833_1132221942"/></text:h> - <text:p text:style-name="P51"><text:span text:style-name="T279">As for namelists, t</text:span>here is special provision to change <text:span text:style-name="T278">the [</text:span>files<text:span text:style-name="T278">]</text:span> settings for a specific job. <text:span text:style-name="T278">Let us assume</text:span> <text:span text:style-name="T278">that a model run continues a previous run and reads that run's state from a restart file that may be defined like this:</text:span></text:p> - <text:p text:style-name="P166">[<text:span text:style-name="T278">files</text:span>]</text:p> - <text:p text:style-name="P119"><text:s text:c="2"/>[[<text:span text:style-name="T278">echam</text:span>]]</text:p> - <text:p text:style-name="P119"><text:s text:c="4"/>[[[<text:span text:style-name="T278">restart</text:span>]]]</text:p> - <text:p text:style-name="P119"><text:s text:c="6"/><text:span text:style-name="T278">restart_myexp_echam.nc = restart_myexp_echam_18491231.nc</text:span></text:p> - <text:p text:style-name="P90"><text:soft-page-break/>The first run <text:span text:style-name="T279">will instead pick up its state from another experiment. This is done with </text:span><text:span text:style-name="T140"><text:s/>a job specific </text:span><text:span text:style-name="T149">'file</text:span><text:span text:style-name="T140">s</text:span><text:span text:style-name="T149">'</text:span><text:span text:style-name="T140"> subsection that – apart from the addition</text:span><text:span text:style-name="T142">al</text:span><text:span text:style-name="T140"> brackets – has the same structure as</text:span><text:span text:style-name="T139"> </text:span><text:span text:style-name="T140">the global </text:span><text:span text:style-name="T149">'files'</text:span><text:span text:style-name="T140"> section.</text:span></text:p> + <text:h text:style-name="P325" text:outline-level="3"><text:bookmark-start text:name="__RefHeading__2833_1132221942"/>Overriding <text:span text:style-name="T276">input file</text:span>s <text:span text:style-name="T276">for certain</text:span> jobs<text:bookmark-end text:name="__RefHeading__2833_1132221942"/></text:h> + <text:p text:style-name="P51"><text:span text:style-name="T277">As for namelists, t</text:span>here is special provision to change <text:span text:style-name="T276">the [</text:span>files<text:span text:style-name="T276">]</text:span> settings for a specific job. <text:span text:style-name="T276">Let us assume</text:span> <text:span text:style-name="T276">that a model run continues a previous run and reads that run's state from a restart file that may be defined like this:</text:span></text:p> + <text:p text:style-name="P166">[<text:span text:style-name="T276">files</text:span>]</text:p> + <text:p text:style-name="P119"><text:s text:c="2"/>[[<text:span text:style-name="T276">echam</text:span>]]</text:p> + <text:p text:style-name="P119"><text:s text:c="4"/>[[[<text:span text:style-name="T276">restart</text:span>]]]</text:p> + <text:p text:style-name="P119"><text:s text:c="6"/><text:span text:style-name="T276">restart_myexp_echam.nc = restart_myexp_echam_18491231.nc</text:span></text:p> + <text:p text:style-name="P90"><text:soft-page-break/>The first run <text:span text:style-name="T277">will instead pick up its state from another experiment. This is done with </text:span><text:span text:style-name="T140"><text:s/>a job specific </text:span><text:span text:style-name="T149">'file</text:span><text:span text:style-name="T140">s</text:span><text:span text:style-name="T149">'</text:span><text:span text:style-name="T140"> subsection that – apart from the addition</text:span><text:span text:style-name="T142">al</text:span><text:span text:style-name="T140"> brackets – has the same structure as</text:span><text:span text:style-name="T139"> </text:span><text:span text:style-name="T140">the global </text:span><text:span text:style-name="T149">'files'</text:span><text:span text:style-name="T140"> section.</text:span></text:p> <text:p text:style-name="P166">[jobs]</text:p> <text:p text:style-name="P166"><text:s text:c="2"/>[[run_first]]</text:p> - <text:p text:style-name="P166"><text:s text:c="4"/><text:span text:style-name="T170">[[[</text:span><text:span text:style-name="T179">file</text:span><text:span text:style-name="T170">s]</text:span><text:span text:style-name="T179">]</text:span><text:span text:style-name="T170">]</text:span></text:p> - <text:p text:style-name="P119"><text:s text:c="6"/><text:span text:style-name="T222">[[</text:span>[[<text:span text:style-name="T279">echam</text:span>]]<text:span text:style-name="T222">]]</text:span></text:p> - <text:p text:style-name="P119"><text:s text:c="8"/><text:span text:style-name="T222">[[</text:span>[[[<text:span text:style-name="T279">restart</text:span>]]]<text:span text:style-name="T222">]]</text:span></text:p> - <text:p text:style-name="P120"><text:span text:style-name="T134"><text:s text:c="10"/></text:span><text:span text:style-name="T148">restart_myexp_echam.nc = restart_</text:span><text:span text:style-name="T156">another</text:span><text:span text:style-name="T157">exp</text:span><text:span text:style-name="T148">_echam_18491231.nc</text:span></text:p> + <text:p text:style-name="P166"><text:s text:c="4"/><text:span text:style-name="T168">[[[</text:span><text:span text:style-name="T177">file</text:span><text:span text:style-name="T168">s]</text:span><text:span text:style-name="T177">]</text:span><text:span text:style-name="T168">]</text:span></text:p> + <text:p text:style-name="P119"><text:s text:c="6"/><text:span text:style-name="T220">[[</text:span>[[<text:span text:style-name="T277">echam</text:span>]]<text:span text:style-name="T220">]]</text:span></text:p> + <text:p text:style-name="P119"><text:s text:c="8"/><text:span text:style-name="T220">[[</text:span>[[[<text:span text:style-name="T277">restart</text:span>]]]<text:span text:style-name="T220">]]</text:span></text:p> + <text:p text:style-name="P120"><text:span text:style-name="T134"><text:s text:c="10"/></text:span><text:span text:style-name="T148">restart_myexp_echam.nc = restart_</text:span><text:span text:style-name="T154">another</text:span><text:span text:style-name="T155">exp</text:span><text:span text:style-name="T148">_echam_18491231.nc</text:span></text:p> <text:p text:style-name="P47"><text:span text:style-name="T140">This</text:span><text:span text:style-name="T148"> will result in a '.run_first' </text:span><text:span text:style-name="T149">script</text:span><text:span text:style-name="T148"> tha</text:span><text:span text:style-name="T149">t gets the model state from 'anotherexp', while the '.run' script</text:span><text:span text:style-name="T148"> </text:span><text:span text:style-name="T149">uses 'myexp'.</text:span></text:p> </office:text> </office:body> diff --git a/doc/mkexp.pdf b/doc/mkexp.pdf index 4ba242f2f64703489642e5caacfb7db34538d720..04665a4f01b613d75ca9e4b2146379470588dc72 100644 GIT binary patch delta 113478 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 A6aWAK delta 114311 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 diff --git a/expconfig.py b/expconfig.py index cfe3d7a..0c34c31 100644 --- a/expconfig.py +++ b/expconfig.py @@ -49,37 +49,29 @@ class ConfigObj(configobj.ConfigObj): else: return [_f for _f in [x.rstrip() for x in arg] if _f] - def merge_structure(this, indict, main=None, parent=None, depth=0): - '''Merge structure from indict into current configuration. + def merge_comments(this, indict): + '''Merge comments from indict into current configuration. Requires indict to be merged before being called. ''' - if not main: main = this - if not parent: parent = this - - this.main = main - this.parent = parent - this.depth = depth - if isinstance(indict, configobj.ConfigObj): if is_not_empty(indict.initial_comment): this.initial_comment = indict.initial_comment if is_not_empty(indict.final_comment): this.final_comment = indict.final_comment - if isinstance(indict, configobj.Section): - for key in indict.scalars: - if is_not_empty(indict.comments[key]): - this.comments[key] = indict.comments[key] - if is_not_empty(indict.inline_comments[key]): - this.inline_comments[key] = indict.inline_comments[key] - - for key, value in indict.items(): - if isinstance(value, dict): - merge_structure(this[key], value, main, this, depth+1) + for key in indict.scalars: + if is_not_empty(indict.comments[key]): + this.comments[key] = indict.comments[key] + if is_not_empty(indict.inline_comments[key]): + this.inline_comments[key] = indict.inline_comments[key] + + for key in indict.sections: + merge_comments(this[key], indict[key]) configobj.ConfigObj.merge(self, indict) - merge_structure(self, indict) + if isinstance(indict, configobj.Section): + merge_comments(self, indict) class ExpConfigError(InterpolationError): diff --git a/mkexp b/mkexp index e1fe32a..de30bee 100755 --- a/mkexp +++ b/mkexp @@ -5,9 +5,8 @@ # $Id$ # -from copy import deepcopy +import copy import io -import numbers import os import re import stat @@ -235,7 +234,7 @@ def format_vars(section, key, log, fmt): value = section[key] newkey = transform(key) section.rename(key, newkey) - if not isinstance(value, (list, tuple, dict, numbers.Number)): + if not isinstance(value, (list, tuple, dict)): # Format string variables section[newkey] = transform(value) elif isinstance(value, (list, tuple)): @@ -347,7 +346,7 @@ def list_singleton(eval_ctx, x, keep_empty=False, *args, **kwargs): if getattr(list_original, 'evalcontextfilter', False): return list_original(eval_ctx, x, *args, **kwargs) return list_original(x, *args, **kwargs) - if not keep_empty and not x: + if not keep_empty and x == '': return [] return [x] template_env.filters['list'] = list_singleton @@ -450,12 +449,16 @@ dump_file.close() # Process scripts for each job # Cut queue specific settings +job_dict = {} remove_list = get_remove_list(config['jobs'], '.remove') remove_list += get_remove_list(config['jobs'], 'remove') +for key, value in config['jobs'].items(): + if not isinstance(value, dict): + job_dict[key] = value + del config['jobs'][key] # Extend the given subjob config recursively -def extend(subjob, config, extended_jobs): - jobs_config = config['jobs'] +def extend(subjob, jobs_config, extended_jobs): if subjob not in extended_jobs: subconfig = jobs_config[subjob] @@ -469,111 +472,117 @@ def extend(subjob, config, extended_jobs): extended_job = subconfig['extends'] subconfig.rename('extends', '.extends') if extended_job: - extend(extended_job, config, extended_jobs) - - # Collect all inherited data + extend(extended_job, jobs_config, extended_jobs) + # Add global job settings pre_config = ConfigObj(interpolation=False) + pre_config.merge(job_dict) + + # Add parent config if extended_job: - # Add parent config - pre_config.merge(deepcopy(jobs_config[extended_job])) - else: - # Add global job settings - pre_config.merge(deepcopy({s: config[s] for s in config.keys() - if s not in ('jobs', 'DEFAULT')})) - pre_config.merge({s: jobs_config[s] for s in jobs_config.scalars - if s not in ('.remove', 'remove')}) + pre_config.merge(copy.deepcopy(jobs_config[extended_job])) + # Add actual subjob config - pre_config.merge(deepcopy(subconfig)) + pre_config.merge(subconfig) # Replace subjob config by extended config - config.merge({'jobs': {subjob: pre_config}}) + jobs_config[subjob] = {} + jobs_config[subjob].merge(pre_config) del pre_config # Tick off extended jobs extended_jobs.add(subjob) -# Remove or extend subjobs +# Extend all subjobs jobs_config = config['jobs'] extended_jobs = set() -removed_jobs = set() -for subjob in jobs_config.sections: - if subjob in remove_list: - removed_jobs.add(subjob) - else: +for subjob in jobs_config: + if not subjob in remove_list: # Extend subjob config - extend(subjob, config, extended_jobs) + extend(subjob, jobs_config, extended_jobs) # Add useful settings subconfig = jobs_config[subjob] - subconfig[u'id'] = subjob + subconfig['id'] = subjob if not 'tasks' in subconfig: - subconfig[u'tasks'] = (int(subconfig.get('nodes', 1)) * - int(subconfig.get('tasks_per_node', 1))) -for subjob in removed_jobs: - del jobs_config[subjob] + subconfig['tasks'] = str(int(subconfig.get('nodes', 1)) * + int(subconfig.get('tasks_per_node', 1))) # Paste them into each job -for subjob in jobs_config.sections: - subconfig = jobs_config[subjob] - - # Copy current config settings to job - job_config = ConfigObj(interpolation=False) - job_config.merge(subconfig) - - # Paste pre config into job config - job_config.merge({u'DEFAULT': config[u'DEFAULT']}) - job_config.merge({u'jobs': deepcopy(jobs_config)}) - job_config.merge({u'JOB': deepcopy(subconfig)}) - - # Prepare namelists for inclusion in scripts - var_format = subconfig.get('.var_format', '${%s}') - var_list = set() - job_config.walk(format_vars, log=var_list, fmt=var_format) - job_config[u'VARIABLES_'] = var_list - for namelist, groups in job_config['namelists'].items(): - if isinstance(groups, dict): - # Skip hidden namelists - if is_set(groups.get('.hide')): - continue - # Support deprecated keyword 'use_template' but warn user - if groups.get('use_template'): - keyword_warning('use_template') - - namelist_name = re.sub(r'\W', '_', namelist.upper()) - use_template = (groups.get('.use_template') or - groups.get('use_template') or '') - if use_template.lower() == 'true': - job_config[namelist_name] = \ - expand_template(groups, get_template_name(namelist)) - elif use_template: - job_config[namelist_name] = \ - expand_template(groups, get_template_name(use_template)) - else: - job_config[namelist_name] = \ - format_namelist(groups) - - # Generate job script - template_search_list = ( - get_exp_template_name(experiment_config_id, subjob, ''), - get_exp_template_name(config.experiment_id, subjob, ''), - get_exp_template_name(config.experiment_kind, subjob), - get_exp_template_name(ExpConfig.default_name, subjob) - ) - extended_job = jobs_config[subjob].get('.extends') - while extended_job: - template_search_list += ( - get_exp_template_name(experiment_config_id, extended_job, ''), - get_exp_template_name(config.experiment_id, extended_job, ''), - get_exp_template_name(config.experiment_kind, extended_job), - get_exp_template_name(ExpConfig.default_name, extended_job) +for subjob, subconfig in jobs_config.items(): + if not subjob in remove_list: + + # Copy current config settings to job + config_lines = io.BytesIO() + config.write(config_lines) + config_lines.seek(0) + job_config = ConfigObj(io.TextIOWrapper(config_lines), + interpolation=False) + + # Check namelist override + if 'namelists' in subconfig: + job_config['namelists'].merge(subconfig['namelists']) + del subconfig['namelists'] + + # Check files override + if 'files' in subconfig: + job_config['files'].merge(subconfig['files']) + del subconfig['files'] + + # Paste pre config into job config + job_config[u'JOB'] = subconfig + del subconfig + + # Prepare namelists for inclusion in scripts + var_format = job_config['JOB'].get('.var_format', '${%s}') + var_list = set() + del job_config['jobs'] + job_config['jobs'] = copy.deepcopy(jobs_config) + job_config.walk(format_vars, log=var_list, fmt=var_format) + job_config['VARIABLES_'] = var_list + for namelist, groups in job_config['namelists'].items(): + if isinstance(groups, dict): + # Skip hidden namelists + if is_set(groups.get('.hide')): + continue + # Support deprecated keyword 'use_template' but warn user + if groups.get('use_template'): + keyword_warning('use_template') + + namelist_name = re.sub(r'\W', '_', namelist.upper()) + use_template = (groups.get('.use_template') or + groups.get('use_template') or '') + if use_template.lower() == 'true': + job_config[namelist_name] = \ + expand_template(groups, get_template_name(namelist)) + elif use_template: + job_config[namelist_name] = \ + expand_template(groups, get_template_name(use_template)) + else: + job_config[namelist_name] = \ + format_namelist(groups) + + # Generate job script + template_search_list = ( + get_exp_template_name(experiment_config_id, subjob, ''), + get_exp_template_name(config.experiment_id, subjob, ''), + get_exp_template_name(config.experiment_kind, subjob), + get_exp_template_name(ExpConfig.default_name, subjob) ) - extended_job = jobs_config[extended_job].get('.extends') - - expand_template_file(job_config, template_search_list, - get_exp_script_name(config.experiment_id, subjob), - os.path.join(backup_dir, - config.experiment_id+'.'+subjob)) + extended_job = jobs_config[subjob].get('.extends') + while extended_job: + template_search_list += ( + get_exp_template_name(experiment_config_id, extended_job, ''), + get_exp_template_name(config.experiment_id, extended_job, ''), + get_exp_template_name(config.experiment_kind, extended_job), + get_exp_template_name(ExpConfig.default_name, extended_job) + ) + extended_job = jobs_config[extended_job].get('.extends') + + expand_template_file(job_config, template_search_list, + get_exp_script_name(config.experiment_id, subjob), + os.path.join(backup_dir, + config.experiment_id+'.'+subjob)) # Create README file from experiment description diff --git a/package_info.py b/package_info.py index 5e31345..cf42aea 100644 --- a/package_info.py +++ b/package_info.py @@ -4,4 +4,4 @@ Information on package name and version full_name = 'Make Experiments!' name = 'mkexp' -version = '1.2.0dev' +version = '1.1.2' diff --git a/test.py b/test.py index f8c04ac..4988533 100644 --- a/test.py +++ b/test.py @@ -1272,38 +1272,6 @@ class InheritanceTestCase(MkexpSimpleTestCase): result = align(result) self.assertMultiLineEqual(expecteds[i], result) - def test_global_override(self): - writeconfig(self.exp_id, u""" - EXP_TYPE = - INITIAL_DATE = 12-34-5678 - FINAL_DATE = 87-65-4321 - [jobs] - [[job]] - [[job1]] - .extends = job - INITIAL_DATE = $FINAL_DATE - """) - writetemplate(self.exp_id, 'job', u""" - %{INITIAL_DATE} - %{FINAL_DATE} - """) - expecteds = { - 'job': align(u""" - 12-34-5678 - 87-65-4321 - """), - 'job1': align(u""" - 87-65-4321 - 87-65-4321 - """), - } - ignore = output(script("mkexp "+self.exp_id+".config")) - for i in ('job', 'job1'): - result = readfile(join("test", "experiments", self.exp_id, - self.exp_id+"."+i)) - result = align(result) - self.assertMultiLineEqual(expecteds[i], result) - class JobSiblingsTestCase(MkexpSimpleTestCase): def test_sibling_lookup(self): -- GitLab