<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?action=history&amp;feed=atom&amp;title=The_Target_Architecture_%28%22arch%22%29_Files</id>
		<title>The Target Architecture (&quot;arch&quot;) Files - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?action=history&amp;feed=atom&amp;title=The_Target_Architecture_%28%22arch%22%29_Files"/>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=The_Target_Architecture_(%22arch%22)_Files&amp;action=history"/>
		<updated>2026-07-07T19:42:07Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.27.7</generator>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=The_Target_Architecture_(%22arch%22)_Files&amp;diff=2270&amp;oldid=prev</id>
		<title>Aurelien.falco: /* A brief description of the architecture files used by the makelmdz_fcm script */</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=The_Target_Architecture_(%22arch%22)_Files&amp;diff=2270&amp;oldid=prev"/>
				<updated>2024-12-10T14:09:28Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;A brief description of the architecture files used by the makelmdz_fcm script&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='en'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 14:09, 10 December 2024&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== A brief description of the architecture files used by the makelmdz_fcm script ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== A brief description of the architecture files used by the makelmdz_fcm script ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=== The PCM arch files in LMDZ.COMMON/ ===&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The target architecture files are files used by the makelmdz_fcm compilation script. These files contain all the necessary information about the local environment, where libraries are located, which compiler, and compiler options will be used, etc.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The target architecture files are files used by the makelmdz_fcm compilation script. These files contain all the necessary information about the local environment, where libraries are located, which compiler, and compiler options will be used, etc.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In practice, when the [[The_makelmdz_fcm_GCM_Compilation_Script|makelmdz_fcm]] is run with &amp;quot;-arch somename&amp;quot;, it will look for files &amp;quot;arch-somename.env&amp;quot;, &amp;quot;arch-somename.path&amp;quot; and &amp;quot;arch-somename.fcm&amp;quot; (obviously &amp;quot;somename&amp;quot; can be any string, makelmdz_fcm will adapt the arch file names it seeks) in the LMDZ/arch subdirectory&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;. &lt;/del&gt;and link these as &amp;quot;arch.env&amp;quot;, &amp;quot;arch.path&amp;quot; and &amp;quot;arch.env&amp;quot; in the LMDZ directory. Re-running makelmdz_fcm with a different argument to the &amp;quot;-arch&amp;quot; option will update these links.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In practice, when the [[The_makelmdz_fcm_GCM_Compilation_Script|makelmdz_fcm]] is run with &amp;quot;-arch somename&amp;quot;, it will look for files &amp;quot;arch-somename.env&amp;quot;, &amp;quot;arch-somename.path&amp;quot; and &amp;quot;arch-somename.fcm&amp;quot; (obviously &amp;quot;somename&amp;quot; can be any string, makelmdz_fcm will adapt the arch file names it seeks) in the &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;'''&lt;/ins&gt;LMDZ&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;.COMMON&lt;/ins&gt;/arch&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;/''' &lt;/ins&gt;subdirectory&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, &lt;/ins&gt;and link these as &amp;quot;arch.env&amp;quot;, &amp;quot;arch.path&amp;quot; and &amp;quot;arch.env&amp;quot; in the LMDZ&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;.COMMON &lt;/ins&gt;directory. Re-running makelmdz_fcm with a different argument to the &amp;quot;-arch&amp;quot; option will update these links&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;=== Arch files for DYNAMICO, XIOS and IOIPSL ===&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;When compiling the other packages such as [[DYNAMICO|DYNAMICO (ICOSAGCM)]], [[XIOS]] or [[IOIPSL]], there should be arch files located in the corresponding folder ('''arch/''') of each package.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;On clusters such as [[Using Adastra|Adastra]] or [[Using the MESOIPSL cluster|MESOIPSL (spirit)]], the arch file should hopefully be up-to-date in each package (if the arch files of a cluster is quite old, it could be that the cluster has been updated and the arch files are outdated).&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;If an arch file is not present in the '''arch/''' folder of one package (for example &amp;quot;XIOS/arch/arch-adastra-gnu.path&amp;quot;, the compilation script will check if there is a corresponding arch-adastra-gnu.path in the '''ARCH/''' folder of the root directory, for example &amp;quot;trunk/ARCH/arch-adastra-gnu.path&amp;quot;)&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== The arch.env file ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== The arch.env file ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key PlanetsWiki:diff:version:1.11a:oldid:1266:newid:2270 --&gt;
&lt;/table&gt;</summary>
		<author><name>Aurelien.falco</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=The_Target_Architecture_(%22arch%22)_Files&amp;diff=1266&amp;oldid=prev</id>
		<title>Martin.turbet at 10:18, 9 March 2023</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=The_Target_Architecture_(%22arch%22)_Files&amp;diff=1266&amp;oldid=prev"/>
				<updated>2023-03-09T10:18:02Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='en'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 10:18, 9 March 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l89&quot; &gt;Line 89:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 89:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:WhatIs]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:WhatIs]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Generic-Model]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Mars-Model]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Venus-Model]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Titan-Model]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Martin.turbet</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=The_Target_Architecture_(%22arch%22)_Files&amp;diff=191&amp;oldid=prev</id>
		<title>Emillour: Created page with &quot;== A brief description of the architecture files used by the makelmdz_fcm script ==  The target architecture files are files used by the makelmdz_fcm compilation script. These...&quot;</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=The_Target_Architecture_(%22arch%22)_Files&amp;diff=191&amp;oldid=prev"/>
				<updated>2022-05-04T10:54:20Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;== A brief description of the architecture files used by the makelmdz_fcm script ==  The target architecture files are files used by the makelmdz_fcm compilation script. These...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== A brief description of the architecture files used by the makelmdz_fcm script ==&lt;br /&gt;
&lt;br /&gt;
The target architecture files are files used by the makelmdz_fcm compilation script. These files contain all the necessary information about the local environment, where libraries are located, which compiler, and compiler options will be used, etc.&lt;br /&gt;
&lt;br /&gt;
In practice, when the [[The_makelmdz_fcm_GCM_Compilation_Script|makelmdz_fcm]] is run with &amp;quot;-arch somename&amp;quot;, it will look for files &amp;quot;arch-somename.env&amp;quot;, &amp;quot;arch-somename.path&amp;quot; and &amp;quot;arch-somename.fcm&amp;quot; (obviously &amp;quot;somename&amp;quot; can be any string, makelmdz_fcm will adapt the arch file names it seeks) in the LMDZ/arch subdirectory. and link these as &amp;quot;arch.env&amp;quot;, &amp;quot;arch.path&amp;quot; and &amp;quot;arch.env&amp;quot; in the LMDZ directory. Re-running makelmdz_fcm with a different argument to the &amp;quot;-arch&amp;quot; option will update these links.&lt;br /&gt;
&lt;br /&gt;
== The arch.env file ==&lt;br /&gt;
&lt;br /&gt;
This file is optional. It should contain instructions and declarations related to the environment (e.g. setting up environment variables, or loading modules), necessary prerequisites to compiling LMDZ. For example the &amp;quot;arch/arch-X64_OCCIGEN.env&amp;quot; file that contains:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
module purge&lt;br /&gt;
&lt;br /&gt;
module load intel/17.0&lt;br /&gt;
module load intelmpi/2017.0.098&lt;br /&gt;
module load hdf5/1.8.17&lt;br /&gt;
module load netcdf/4.4.0_fortran-4.4.2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
imposes first running some &amp;quot;module&amp;quot; commands to set up the adequate environment prior to the compilation.&lt;br /&gt;
&lt;br /&gt;
== The arch.path file ==&lt;br /&gt;
&lt;br /&gt;
This file contains information about the paths (relative to the LMDZ.COMMON directory) and options concerning libraries (NetCDF, IOIPSL, etc.) required to compile the GCM. For example the &amp;quot;arch/arch-X64_OCCIGEN.path&amp;quot; contains:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ROOT=$PWD&lt;br /&gt;
&lt;br /&gt;
NETCDF_LIBDIR=&amp;quot;-L${NETCDFF_LIBDIR}&amp;quot;&lt;br /&gt;
NETCDF_LIB=&amp;quot;-lnetcdff -lnetcdf&amp;quot;&lt;br /&gt;
NETCDF_INCDIR=&amp;quot;-I${NETCDF_INCDIR}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
IOIPSL_INCDIR=&amp;quot;-I$ROOT/ioipsl/modipsl/lib&amp;quot;&lt;br /&gt;
IOIPSL_LIBDIR=&amp;quot;-L$ROOT/ioipsl/modipsl/lib&amp;quot;&lt;br /&gt;
IOIPSL_LIB=&amp;quot;-lioipsl&amp;quot;&lt;br /&gt;
&lt;br /&gt;
XIOS_INCDIR=&amp;quot;-I$ROOT/../XIOS/inc&amp;quot;&lt;br /&gt;
XIOS_LIBDIR=&amp;quot;-L$ROOT/../XIOS/lib&amp;quot;&lt;br /&gt;
XIOS_LIB=&amp;quot;-lxios -lstdc++&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Here the keywords are quite self-explanatory, for each external library, NetCDF, IOIPSL, XIOS, ... one provide the compiling instructions about related &amp;quot;include&amp;quot; directories along with the path to the libraries.&lt;br /&gt;
&lt;br /&gt;
== The arch.fcm file ==&lt;br /&gt;
&lt;br /&gt;
This file contains information about the compiler to use and compiler options to set. Each line starts with a reserved keyword, followed by the appropriate specifications. For example the &amp;quot;arch/arch-X64_OCCIGEN.fcm&amp;quot; file contains:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
%COMPILER            mpif90&lt;br /&gt;
%LINK                mpif90&lt;br /&gt;
%AR                  ar&lt;br /&gt;
%MAKE                gmake&lt;br /&gt;
%FPP_FLAGS           -P -traditional&lt;br /&gt;
%CPP_FLAGS           -P&lt;br /&gt;
%FPP_DEF             NC_DOUBLE LAPACK FFT_MKL&lt;br /&gt;
%CPP_DEF             LAPACK&lt;br /&gt;
%BASE_FFLAGS         -i4 -r8 -auto -align all -fp-model strict&lt;br /&gt;
%PROD_FFLAGS         -O2 -ip -xCORE-AVX2&lt;br /&gt;
%DEV_FFLAGS          -p -g -O1 -fpe0 -traceback&lt;br /&gt;
%DEBUG_FFLAGS        -p -g -O0 -fpe-all=0 -ftz -ftrapuv -fp-stack-check -check bounds,format,output_conversion,pointers,uninit -debug -traceback&lt;br /&gt;
%C_COMPILER          mpicc&lt;br /&gt;
%C_OPTIM             -O2 -ip -xCORE-AVX2&lt;br /&gt;
%MPI_FFLAGS&lt;br /&gt;
%OMP_FFLAGS          -qopenmp -qopenmp-threadprivate=compat&lt;br /&gt;
%BASE_LD             -i4 -r8 -auto -shared-intel $MKL_LIBS -lpthread&lt;br /&gt;
%MPI_LD&lt;br /&gt;
%OMP_LD              -qopenmp -qopenmp-threadprivate=compat&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Implying that the compiler to use is &amp;quot;mpif90&amp;quot;, that compilation will always include the &amp;quot;NC_DOUBLE LAPACK FFT_MKL&amp;quot; preprocessing flags, and &amp;quot;-i4 -r8 -auto -align all -fp-model strict&amp;quot; compiler options, etc.&lt;br /&gt;
&lt;br /&gt;
The meaning of the various keywords that one may specify in the arch.fcm file are:&lt;br /&gt;
&lt;br /&gt;
* %COMPILER: The (Fortran) compiler to use&lt;br /&gt;
* %LINK: The linker to use (usually this is the same as the compiler)&lt;br /&gt;
* %AR: the archiving tool (to collect objects and build the library, typically &amp;quot;ar&amp;quot;)&lt;br /&gt;
* %ARFLAGS: options to give to the archiving tool&lt;br /&gt;
* %MAKE: the make tool (typically &amp;quot;make&amp;quot; or &amp;quot;gmake&amp;quot;)&lt;br /&gt;
* %FPP_FLAGS: options to pass to the preprocessor of Fortran source code&lt;br /&gt;
* %CPP_FLAGS: options to pass to the preprocessor for C source code&lt;br /&gt;
* %FPP_DEF: preprocessing flags to set for Fortran  source code&lt;br /&gt;
* %CPP_DEF: : options to pass to the preprocessor for C source code&lt;br /&gt;
* %BASE_FFLAGS: compilation flags to alway include when compiling Fortran source code&lt;br /&gt;
* %PROD_FFLAGS: compilation flags to include if makelmdz_fcm is run with the &amp;quot;-prod&amp;quot; option&lt;br /&gt;
* %DEV_FFLAGS: compilation flags to include if makelmdz_fcm is run with the &amp;quot;-dev&amp;quot; option&lt;br /&gt;
* %DEBUG_FFLAGS: compilation flags to include if makelmdz_fcm is run with the &amp;quot;-debug&amp;quot; option&lt;br /&gt;
* %C_COMPILER: The compiler to use if compiling C source code&lt;br /&gt;
* %C_OPTIM: compilation flags to use if compiling C source code&lt;br /&gt;
* %MPI_FFLAGS: compilation flags to include if makelmdz_fcm is run with the &amp;quot;-parallel mpi&amp;quot; or &amp;quot;-parallel mpi_omp&amp;quot; options (i.e. to have a code that can run in MPI)&lt;br /&gt;
* %OMP_FFLAGS: compilation flags to include if makelmdz_fcm is run with the &amp;quot;-parallel omp&amp;quot; or &amp;quot;-parallel mpi_omp&amp;quot; options (i.e. to have a code that can run in OpenMP)&lt;br /&gt;
* %BASE_LD: flags to add when running the linker&lt;br /&gt;
* %MPI_LD: flags to add when running the linker when MPI is enabled&lt;br /&gt;
* %OMP_LD: flags to add when running the linker when OpenMP is enabled&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:WhatIs]]&lt;/div&gt;</summary>
		<author><name>Emillour</name></author>	</entry>

	</feed>