<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Aspiga</id>
		<title>Planets - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Aspiga"/>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php/Special:Contributions/Aspiga"/>
		<updated>2026-06-11T13:04:57Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.27.7</generator>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Installing_Mars_mesoscale_model_on_spirit&amp;diff=1213</id>
		<title>Installing Mars mesoscale model on spirit</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Installing_Mars_mesoscale_model_on_spirit&amp;diff=1213"/>
				<updated>2023-02-21T21:28:00Z</updated>
		
		<summary type="html">&lt;p&gt;Aspiga: /* A more detailed run */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Set up environment ==&lt;br /&gt;
&lt;br /&gt;
Add this in your ~/.bashrc then source the file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
module purge&lt;br /&gt;
module load intel/2021.4.0&lt;br /&gt;
module load intel-mkl/2020.4.304&lt;br /&gt;
module load openmpi/4.0.7&lt;br /&gt;
module load hdf5/1.10.7-mpi&lt;br /&gt;
module load netcdf-fortran/4.5.3-mpi&lt;br /&gt;
module load netcdf-c/4.7.4-mpi&lt;br /&gt;
declare -x WHERE_MPI=/net/nfs/tools/u20/22.3/PrgEnv/intel/linux-ubuntu20.04-zen2/openmpi/4.0.7-intel-2021.4.0-43fdcnab3ydwu7ycrplnzlp6xieusuz7/bin/&lt;br /&gt;
declare -x NETCDF=/scratchu/spiga/les_mars_project_spirit/netcdf_hacks/SPIRIT&lt;br /&gt;
declare -x NCDFLIB=$NETCDF/lib&lt;br /&gt;
declare -x NCDFINC=$NETCDF/include&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Do not forget to declare the local directory in PATH by adding this to your ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
declare -x PATH=./:$PATH&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is necessary to unlimit the stacksize to avoit unwanted segmentation faults by adding this to your ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
ulimit -s unlimited&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the end, source the .bashrc file!&lt;br /&gt;
&lt;br /&gt;
== Set up the installer ==&lt;br /&gt;
&lt;br /&gt;
Go to your 'data' directory (cd /homedata/_MY_LOGIN_ ''or'' cd /data/_MY_LOGIN_) and download the installer with the following command&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
svn co https://svn.lmd.jussieu.fr/Planeto/trunk/MESOSCALE/LMD_MM_MARS/SIMU&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure the installer can be executed&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
chmod 755 SIMU/meso_install.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make a link (e.g. where you are, in the parent directory of /data) to the main script in this SIMU directory&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
ln -sf SIMU/meso_install.sh .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run the installer with a simple display of possible options&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
./meso_install.sh -h&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install the code ==&lt;br /&gt;
&lt;br /&gt;
Update to the latest version of installer&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
cd SIMU&lt;br /&gt;
svn update&lt;br /&gt;
chmod 755 meso_install.sh&lt;br /&gt;
cd ..&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run the installer by providing a name for your specific directory&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
./meso_install.sh -n DESCRIBE_YOUR_RESEARCH_PROJECT&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Special case'': In case you do not have a gitlab account, ask for an archive (tar.gz) of the code.&lt;br /&gt;
Let us assume the name is git-trunk-mesoscale-compile-run-spirit.tar.gz &lt;br /&gt;
and the file is in the current directory (for instance in /homedata/_MY_LOGIN_)&lt;br /&gt;
then run the installer with the following command&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
./meso_install.sh -n DESCRIBE_YOUR_RESEARCH_PROJECT -a git-trunk-mesoscale-compile-run-spirit&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Weird!'' fcm is not working interactively. It only works if being declared in the environment file by adding&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
declare -x PATH=/homedata/_MY_LOGIN_/DESCRIBE_YOUR_RESEARCH_PROJECT/code/LMDZ.COMMON/FCM_V1.2/bin/:$PATH&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
then recompile the GCM compiling (which had failed previously) by doing&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
cd /homedata/_MY_LOGIN_/DESCRIBE_YOUR_RESEARCH_PROJECT/&lt;br /&gt;
./compile_gcm.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
and recreate start files from a sample start_archive.nc by doing&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
./mini_startbase.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Run the full workflow GCM + initialization + mesoscale model ==&lt;br /&gt;
&lt;br /&gt;
Have a look in the script named launch just for info or to change the number of processors or the step at which you start. Send the launch job to the cluster by typing&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
sbatch launch&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
You can check the status of the run by typing&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
squeueme&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== A more detailed run ==&lt;br /&gt;
&lt;br /&gt;
The best is probably to use a more complete startbase than the minimal one that was created. For instance, to get a more complete startbase, link 'data_gcm' to point towards '/data/spiga/2021_STARTBASES_rev2460/MY35'&lt;br /&gt;
&lt;br /&gt;
To use the tyler cap setting in namelist.wps, download the tylerall archive here 'https://web.lmd.jussieu.fr/~aslmd/mesoscale_model/data_static/' and extract the content in the folder named data_static&lt;/div&gt;</summary>
		<author><name>Aspiga</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Installing_Mars_mesoscale_model_on_spirit&amp;diff=1212</id>
		<title>Installing Mars mesoscale model on spirit</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Installing_Mars_mesoscale_model_on_spirit&amp;diff=1212"/>
				<updated>2023-02-21T21:23:00Z</updated>
		
		<summary type="html">&lt;p&gt;Aspiga: /* Run the full workflow GCM + initialization + mesoscale model */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Set up environment ==&lt;br /&gt;
&lt;br /&gt;
Add this in your ~/.bashrc then source the file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
module purge&lt;br /&gt;
module load intel/2021.4.0&lt;br /&gt;
module load intel-mkl/2020.4.304&lt;br /&gt;
module load openmpi/4.0.7&lt;br /&gt;
module load hdf5/1.10.7-mpi&lt;br /&gt;
module load netcdf-fortran/4.5.3-mpi&lt;br /&gt;
module load netcdf-c/4.7.4-mpi&lt;br /&gt;
declare -x WHERE_MPI=/net/nfs/tools/u20/22.3/PrgEnv/intel/linux-ubuntu20.04-zen2/openmpi/4.0.7-intel-2021.4.0-43fdcnab3ydwu7ycrplnzlp6xieusuz7/bin/&lt;br /&gt;
declare -x NETCDF=/scratchu/spiga/les_mars_project_spirit/netcdf_hacks/SPIRIT&lt;br /&gt;
declare -x NCDFLIB=$NETCDF/lib&lt;br /&gt;
declare -x NCDFINC=$NETCDF/include&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Do not forget to declare the local directory in PATH by adding this to your ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
declare -x PATH=./:$PATH&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is necessary to unlimit the stacksize to avoit unwanted segmentation faults by adding this to your ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
ulimit -s unlimited&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the end, source the .bashrc file!&lt;br /&gt;
&lt;br /&gt;
== Set up the installer ==&lt;br /&gt;
&lt;br /&gt;
Go to your 'data' directory (cd /homedata/_MY_LOGIN_ ''or'' cd /data/_MY_LOGIN_) and download the installer with the following command&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
svn co https://svn.lmd.jussieu.fr/Planeto/trunk/MESOSCALE/LMD_MM_MARS/SIMU&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure the installer can be executed&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
chmod 755 SIMU/meso_install.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make a link (e.g. where you are, in the parent directory of /data) to the main script in this SIMU directory&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
ln -sf SIMU/meso_install.sh .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run the installer with a simple display of possible options&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
./meso_install.sh -h&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install the code ==&lt;br /&gt;
&lt;br /&gt;
Update to the latest version of installer&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
cd SIMU&lt;br /&gt;
svn update&lt;br /&gt;
chmod 755 meso_install.sh&lt;br /&gt;
cd ..&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run the installer by providing a name for your specific directory&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
./meso_install.sh -n DESCRIBE_YOUR_RESEARCH_PROJECT&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Special case'': In case you do not have a gitlab account, ask for an archive (tar.gz) of the code.&lt;br /&gt;
Let us assume the name is git-trunk-mesoscale-compile-run-spirit.tar.gz &lt;br /&gt;
and the file is in the current directory (for instance in /homedata/_MY_LOGIN_)&lt;br /&gt;
then run the installer with the following command&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
./meso_install.sh -n DESCRIBE_YOUR_RESEARCH_PROJECT -a git-trunk-mesoscale-compile-run-spirit&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Weird!'' fcm is not working interactively. It only works if being declared in the environment file by adding&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
declare -x PATH=/homedata/_MY_LOGIN_/DESCRIBE_YOUR_RESEARCH_PROJECT/code/LMDZ.COMMON/FCM_V1.2/bin/:$PATH&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
then recompile the GCM compiling (which had failed previously) by doing&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
cd /homedata/_MY_LOGIN_/DESCRIBE_YOUR_RESEARCH_PROJECT/&lt;br /&gt;
./compile_gcm.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
and recreate start files from a sample start_archive.nc by doing&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
./mini_startbase.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Run the full workflow GCM + initialization + mesoscale model ==&lt;br /&gt;
&lt;br /&gt;
Have a look in the script named launch just for info or to change the number of processors or the step at which you start. Send the launch job to the cluster by typing&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
sbatch launch&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
You can check the status of the run by typing&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
squeueme&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== A more detailed run ==&lt;br /&gt;
&lt;br /&gt;
The best is probably to use a more complete startbase than the minimal one that was created. For instance, to get a more complete startbase, link 'data_gcm' to point towards '/data/spiga/2021_STARTBASES_rev2460/MY35'&lt;/div&gt;</summary>
		<author><name>Aspiga</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Installing_Mars_mesoscale_model_on_spirit&amp;diff=1181</id>
		<title>Installing Mars mesoscale model on spirit</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Installing_Mars_mesoscale_model_on_spirit&amp;diff=1181"/>
				<updated>2023-01-26T11:39:48Z</updated>
		
		<summary type="html">&lt;p&gt;Aspiga: /* Run the full workflow GCM + initialization + mesoscale model */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Set up environment ==&lt;br /&gt;
&lt;br /&gt;
Add this in your ~/.bashrc then source the file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
module purge&lt;br /&gt;
module load intel/2021.4.0&lt;br /&gt;
module load intel-mkl/2020.4.304&lt;br /&gt;
module load openmpi/4.0.7&lt;br /&gt;
module load hdf5/1.10.7-mpi&lt;br /&gt;
module load netcdf-fortran/4.5.3-mpi&lt;br /&gt;
module load netcdf-c/4.7.4-mpi&lt;br /&gt;
declare -x WHERE_MPI=/net/nfs/tools/u20/22.3/PrgEnv/intel/linux-ubuntu20.04-zen2/openmpi/4.0.7-intel-2021.4.0-43fdcnab3ydwu7ycrplnzlp6xieusuz7/bin/&lt;br /&gt;
declare -x NETCDF=/scratchu/spiga/les_mars_project_spirit/netcdf_hacks/SPIRIT&lt;br /&gt;
declare -x NCDFLIB=$NETCDF/lib&lt;br /&gt;
declare -x NCDFINC=$NETCDF/include&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Do not forget to declare the local directory in PATH by adding this to your ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
declare -x PATH=./:$PATH&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is necessary to unlimit the stacksize to avoit unwanted segmentation faults by adding this to your ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
ulimit -s unlimited&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the end, source the .bashrc file!&lt;br /&gt;
&lt;br /&gt;
== Set up the installer ==&lt;br /&gt;
&lt;br /&gt;
Go to your 'data' directory (cd /homedata/_MY_LOGIN_ ''or'' cd /data/_MY_LOGIN_) and download the installer with the following command&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
svn co https://svn.lmd.jussieu.fr/Planeto/trunk/MESOSCALE/LMD_MM_MARS/SIMU&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure the installer can be executed&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
chmod 755 SIMU/meso_install.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make a link (e.g. where you are, in the parent directory of /data) to the main script in this SIMU directory&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
ln -sf SIMU/meso_install.sh .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run the installer with a simple display of possible options&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
./meso_install.sh -h&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install the code ==&lt;br /&gt;
&lt;br /&gt;
Update to the latest version of installer&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
cd SIMU&lt;br /&gt;
svn update&lt;br /&gt;
chmod 755 meso_install.sh&lt;br /&gt;
cd ..&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run the installer by providing a name for your specific directory&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
./meso_install.sh -n DESCRIBE_YOUR_RESEARCH_PROJECT&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Special case'': In case you do not have a gitlab account, ask for an archive (tar.gz) of the code.&lt;br /&gt;
Let us assume the name is git-trunk-mesoscale-compile-run-spirit.tar.gz &lt;br /&gt;
and the file is in the current directory (for instance in /homedata/_MY_LOGIN_)&lt;br /&gt;
then run the installer with the following command&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
./meso_install.sh -n DESCRIBE_YOUR_RESEARCH_PROJECT -a git-trunk-mesoscale-compile-run-spirit&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Weird!'' fcm is not working interactively. It only works if being declared in the environment file by adding&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
declare -x PATH=/homedata/_MY_LOGIN_/DESCRIBE_YOUR_RESEARCH_PROJECT/code/LMDZ.COMMON/FCM_V1.2/bin/:$PATH&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
then recompile the GCM compiling (which had failed previously) by doing&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
cd /homedata/_MY_LOGIN_/DESCRIBE_YOUR_RESEARCH_PROJECT/&lt;br /&gt;
./compile_gcm.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
and recreate start files from a sample start_archive.nc by doing&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
./mini_startbase.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Run the full workflow GCM + initialization + mesoscale model ==&lt;br /&gt;
&lt;br /&gt;
Have a look in the script named launch just for info or to change the number of processors or the step at which you start. Send the launch job to the cluster by typing&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
sbatch launch&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
You can check the status of the run by typing&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
squeueme&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Aspiga</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Installing_Mars_mesoscale_model_on_spirit&amp;diff=1180</id>
		<title>Installing Mars mesoscale model on spirit</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Installing_Mars_mesoscale_model_on_spirit&amp;diff=1180"/>
				<updated>2023-01-26T11:39:38Z</updated>
		
		<summary type="html">&lt;p&gt;Aspiga: /* Run the full workflow GCM + initialization + mesoscale model */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Set up environment ==&lt;br /&gt;
&lt;br /&gt;
Add this in your ~/.bashrc then source the file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
module purge&lt;br /&gt;
module load intel/2021.4.0&lt;br /&gt;
module load intel-mkl/2020.4.304&lt;br /&gt;
module load openmpi/4.0.7&lt;br /&gt;
module load hdf5/1.10.7-mpi&lt;br /&gt;
module load netcdf-fortran/4.5.3-mpi&lt;br /&gt;
module load netcdf-c/4.7.4-mpi&lt;br /&gt;
declare -x WHERE_MPI=/net/nfs/tools/u20/22.3/PrgEnv/intel/linux-ubuntu20.04-zen2/openmpi/4.0.7-intel-2021.4.0-43fdcnab3ydwu7ycrplnzlp6xieusuz7/bin/&lt;br /&gt;
declare -x NETCDF=/scratchu/spiga/les_mars_project_spirit/netcdf_hacks/SPIRIT&lt;br /&gt;
declare -x NCDFLIB=$NETCDF/lib&lt;br /&gt;
declare -x NCDFINC=$NETCDF/include&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Do not forget to declare the local directory in PATH by adding this to your ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
declare -x PATH=./:$PATH&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is necessary to unlimit the stacksize to avoit unwanted segmentation faults by adding this to your ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
ulimit -s unlimited&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the end, source the .bashrc file!&lt;br /&gt;
&lt;br /&gt;
== Set up the installer ==&lt;br /&gt;
&lt;br /&gt;
Go to your 'data' directory (cd /homedata/_MY_LOGIN_ ''or'' cd /data/_MY_LOGIN_) and download the installer with the following command&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
svn co https://svn.lmd.jussieu.fr/Planeto/trunk/MESOSCALE/LMD_MM_MARS/SIMU&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure the installer can be executed&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
chmod 755 SIMU/meso_install.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make a link (e.g. where you are, in the parent directory of /data) to the main script in this SIMU directory&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
ln -sf SIMU/meso_install.sh .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run the installer with a simple display of possible options&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
./meso_install.sh -h&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install the code ==&lt;br /&gt;
&lt;br /&gt;
Update to the latest version of installer&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
cd SIMU&lt;br /&gt;
svn update&lt;br /&gt;
chmod 755 meso_install.sh&lt;br /&gt;
cd ..&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run the installer by providing a name for your specific directory&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
./meso_install.sh -n DESCRIBE_YOUR_RESEARCH_PROJECT&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Special case'': In case you do not have a gitlab account, ask for an archive (tar.gz) of the code.&lt;br /&gt;
Let us assume the name is git-trunk-mesoscale-compile-run-spirit.tar.gz &lt;br /&gt;
and the file is in the current directory (for instance in /homedata/_MY_LOGIN_)&lt;br /&gt;
then run the installer with the following command&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
./meso_install.sh -n DESCRIBE_YOUR_RESEARCH_PROJECT -a git-trunk-mesoscale-compile-run-spirit&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Weird!'' fcm is not working interactively. It only works if being declared in the environment file by adding&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
declare -x PATH=/homedata/_MY_LOGIN_/DESCRIBE_YOUR_RESEARCH_PROJECT/code/LMDZ.COMMON/FCM_V1.2/bin/:$PATH&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
then recompile the GCM compiling (which had failed previously) by doing&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
cd /homedata/_MY_LOGIN_/DESCRIBE_YOUR_RESEARCH_PROJECT/&lt;br /&gt;
./compile_gcm.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
and recreate start files from a sample start_archive.nc by doing&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
./mini_startbase.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Run the full workflow GCM + initialization + mesoscale model ==&lt;br /&gt;
&lt;br /&gt;
Have a look in the script named launch just for info or to change the number of processors or the step at which you start. Send the launch job to the cluster by typing&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
sbatch launch&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
You can check the status of the run by typing&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
sbatch launch&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Aspiga</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Installing_Mars_mesoscale_model_on_spirit&amp;diff=1179</id>
		<title>Installing Mars mesoscale model on spirit</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Installing_Mars_mesoscale_model_on_spirit&amp;diff=1179"/>
				<updated>2023-01-26T11:38:17Z</updated>
		
		<summary type="html">&lt;p&gt;Aspiga: /* Install the code */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Set up environment ==&lt;br /&gt;
&lt;br /&gt;
Add this in your ~/.bashrc then source the file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
module purge&lt;br /&gt;
module load intel/2021.4.0&lt;br /&gt;
module load intel-mkl/2020.4.304&lt;br /&gt;
module load openmpi/4.0.7&lt;br /&gt;
module load hdf5/1.10.7-mpi&lt;br /&gt;
module load netcdf-fortran/4.5.3-mpi&lt;br /&gt;
module load netcdf-c/4.7.4-mpi&lt;br /&gt;
declare -x WHERE_MPI=/net/nfs/tools/u20/22.3/PrgEnv/intel/linux-ubuntu20.04-zen2/openmpi/4.0.7-intel-2021.4.0-43fdcnab3ydwu7ycrplnzlp6xieusuz7/bin/&lt;br /&gt;
declare -x NETCDF=/scratchu/spiga/les_mars_project_spirit/netcdf_hacks/SPIRIT&lt;br /&gt;
declare -x NCDFLIB=$NETCDF/lib&lt;br /&gt;
declare -x NCDFINC=$NETCDF/include&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Do not forget to declare the local directory in PATH by adding this to your ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
declare -x PATH=./:$PATH&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is necessary to unlimit the stacksize to avoit unwanted segmentation faults by adding this to your ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
ulimit -s unlimited&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the end, source the .bashrc file!&lt;br /&gt;
&lt;br /&gt;
== Set up the installer ==&lt;br /&gt;
&lt;br /&gt;
Go to your 'data' directory (cd /homedata/_MY_LOGIN_ ''or'' cd /data/_MY_LOGIN_) and download the installer with the following command&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
svn co https://svn.lmd.jussieu.fr/Planeto/trunk/MESOSCALE/LMD_MM_MARS/SIMU&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure the installer can be executed&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
chmod 755 SIMU/meso_install.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make a link (e.g. where you are, in the parent directory of /data) to the main script in this SIMU directory&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
ln -sf SIMU/meso_install.sh .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run the installer with a simple display of possible options&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
./meso_install.sh -h&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install the code ==&lt;br /&gt;
&lt;br /&gt;
Update to the latest version of installer&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
cd SIMU&lt;br /&gt;
svn update&lt;br /&gt;
chmod 755 meso_install.sh&lt;br /&gt;
cd ..&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run the installer by providing a name for your specific directory&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
./meso_install.sh -n DESCRIBE_YOUR_RESEARCH_PROJECT&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Special case'': In case you do not have a gitlab account, ask for an archive (tar.gz) of the code.&lt;br /&gt;
Let us assume the name is git-trunk-mesoscale-compile-run-spirit.tar.gz &lt;br /&gt;
and the file is in the current directory (for instance in /homedata/_MY_LOGIN_)&lt;br /&gt;
then run the installer with the following command&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
./meso_install.sh -n DESCRIBE_YOUR_RESEARCH_PROJECT -a git-trunk-mesoscale-compile-run-spirit&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Weird!'' fcm is not working interactively. It only works if being declared in the environment file by adding&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
declare -x PATH=/homedata/_MY_LOGIN_/DESCRIBE_YOUR_RESEARCH_PROJECT/code/LMDZ.COMMON/FCM_V1.2/bin/:$PATH&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
then recompile the GCM compiling (which had failed previously) by doing&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
cd /homedata/_MY_LOGIN_/DESCRIBE_YOUR_RESEARCH_PROJECT/&lt;br /&gt;
./compile_gcm.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
and recreate start files from a sample start_archive.nc by doing&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
./mini_startbase.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Run the full workflow GCM + initialization + mesoscale model ==&lt;br /&gt;
&lt;br /&gt;
Have a look in the script named launch just for info or to change the number of processors or the step at which you start. Send the launch job to the cluster by typing&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
sbatch launch&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Aspiga</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Installing_Mars_mesoscale_model_on_spirit&amp;diff=1178</id>
		<title>Installing Mars mesoscale model on spirit</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Installing_Mars_mesoscale_model_on_spirit&amp;diff=1178"/>
				<updated>2023-01-26T11:32:53Z</updated>
		
		<summary type="html">&lt;p&gt;Aspiga: /* Install the code */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Set up environment ==&lt;br /&gt;
&lt;br /&gt;
Add this in your ~/.bashrc then source the file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
module purge&lt;br /&gt;
module load intel/2021.4.0&lt;br /&gt;
module load intel-mkl/2020.4.304&lt;br /&gt;
module load openmpi/4.0.7&lt;br /&gt;
module load hdf5/1.10.7-mpi&lt;br /&gt;
module load netcdf-fortran/4.5.3-mpi&lt;br /&gt;
module load netcdf-c/4.7.4-mpi&lt;br /&gt;
declare -x WHERE_MPI=/net/nfs/tools/u20/22.3/PrgEnv/intel/linux-ubuntu20.04-zen2/openmpi/4.0.7-intel-2021.4.0-43fdcnab3ydwu7ycrplnzlp6xieusuz7/bin/&lt;br /&gt;
declare -x NETCDF=/scratchu/spiga/les_mars_project_spirit/netcdf_hacks/SPIRIT&lt;br /&gt;
declare -x NCDFLIB=$NETCDF/lib&lt;br /&gt;
declare -x NCDFINC=$NETCDF/include&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Do not forget to declare the local directory in PATH by adding this to your ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
declare -x PATH=./:$PATH&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is necessary to unlimit the stacksize to avoit unwanted segmentation faults by adding this to your ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
ulimit -s unlimited&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the end, source the .bashrc file!&lt;br /&gt;
&lt;br /&gt;
== Set up the installer ==&lt;br /&gt;
&lt;br /&gt;
Go to your 'data' directory (cd /homedata/_MY_LOGIN_ ''or'' cd /data/_MY_LOGIN_) and download the installer with the following command&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
svn co https://svn.lmd.jussieu.fr/Planeto/trunk/MESOSCALE/LMD_MM_MARS/SIMU&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure the installer can be executed&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
chmod 755 SIMU/meso_install.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make a link (e.g. where you are, in the parent directory of /data) to the main script in this SIMU directory&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
ln -sf SIMU/meso_install.sh .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run the installer with a simple display of possible options&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
./meso_install.sh -h&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install the code ==&lt;br /&gt;
&lt;br /&gt;
Update to the latest version of installer&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
cd SIMU&lt;br /&gt;
svn update&lt;br /&gt;
chmod 755 meso_install.sh&lt;br /&gt;
cd ..&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run the installer by providing a name for your specific directory&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
./meso_install.sh -n DESCRIBE_YOUR_RESEARCH_PROJECT&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Special case'': In case you do not have a gitlab account, ask for an archive (tar.gz) of the code.&lt;br /&gt;
Let us assume the name is git-trunk-mesoscale-compile-run-spirit.tar.gz &lt;br /&gt;
and the file is in the current directory (for instance in /homedata/_MY_LOGIN_)&lt;br /&gt;
then run the installer with the following command&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
./meso_install.sh -n DESCRIBE_YOUR_RESEARCH_PROJECT -a git-trunk-mesoscale-compile-run-spirit&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Weird!'' fcm is not working interactively. It only works if being declared in the environment file by adding&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
declare -x PATH=/homedata/_MY_LOGIN_/DESCRIBE_YOUR_RESEARCH_PROJECT/code/LMDZ.COMMON/FCM_V1.2/bin/:$PATH&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
then recompile the GCM compiling (which had failed previously by doing&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
cd /homedata/_MY_LOGIN_/DESCRIBE_YOUR_RESEARCH_PROJECT/&lt;br /&gt;
./compile_gcm.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Run the full workflow GCM + initialization + mesoscale model ==&lt;br /&gt;
&lt;br /&gt;
Have a look in the script named launch just for info or to change the number of processors or the step at which you start. Send the launch job to the cluster by typing&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
sbatch launch&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Aspiga</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Other_GCM_Configurations_worth_knowing_about&amp;diff=1175</id>
		<title>Other GCM Configurations worth knowing about</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Other_GCM_Configurations_worth_knowing_about&amp;diff=1175"/>
				<updated>2023-01-24T22:20:44Z</updated>
		
		<summary type="html">&lt;p&gt;Aspiga: /* 3D DYNAMICO setup */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== 3D lon-lat LMDZ setup ==&lt;br /&gt;
&lt;br /&gt;
=== early Mars ===&lt;br /&gt;
&lt;br /&gt;
It is already described in the [https://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php/Quick_Install_and_Run ''Quick Install and Run''] section.&lt;br /&gt;
&lt;br /&gt;
=== Earth with slab ocean ===&lt;br /&gt;
&lt;br /&gt;
TBD by Martin (I will update this case as soon as Siddharth has committed changes)&lt;br /&gt;
&lt;br /&gt;
=== TRAPPIST-1e with photochemistry ===&lt;br /&gt;
&lt;br /&gt;
A temperate rocky planet in synchronous rotation around a low mass star&lt;br /&gt;
&lt;br /&gt;
TBD by Yassin&lt;br /&gt;
&lt;br /&gt;
=== TRAPPIST-1c in Venus-like conditions ===&lt;br /&gt;
&lt;br /&gt;
A warm rocky planet in synchronous rotation around a low mass star&lt;br /&gt;
&lt;br /&gt;
TBD by Gabriella (waiting for the SVN update by Ehouarn)&lt;br /&gt;
&lt;br /&gt;
=== mini-Neptune GJ1214b ===&lt;br /&gt;
&lt;br /&gt;
A warm mini-Neptune&lt;br /&gt;
&lt;br /&gt;
TBD by Benjamin&lt;br /&gt;
&lt;br /&gt;
== 3D DYNAMICO setup ==&lt;br /&gt;
&lt;br /&gt;
Due to the rich dynamical activities in their atmospheres (banded zonal jets, eddies, vortices, storms, equatorial oscillations,...) resulting from multi-scale dynamic interactions, the Global Climate Modelling of the giant planet requires to resolve eddies arising from hydrodynamical instabilities to correctly establish the planetary-scaled jets regime. To this purpose, their Rossby radius deformation $$L_D$$, which is the length scale at which rotational effects become as important as buoyancy or gravity wave effects in the evolution of the flow about some disturbance, is calculated to determine the most suitable horizontal grid resolution. At mid-latitude range, for the giant planets, $$L_D$$ is of the same order of magnitude as that of the Earth. As the giant planets have a size of roughly 10 times the Earth size (i.e., Jupiter and Saturn), the modelling grid must be of a horizontal resolution of 0.5$$^{\circ}$$ over longitude and latitude (vs 5$$^{\circ}$$ for the Earth), considering 3 grid points to resolved $$L_D$$. &lt;br /&gt;
Moreover, to have a chance to model the equatorial oscillation, meridional cell circulations and/or a seasonal inter-hemispheric circulation, a giant planet GCM must also include a high vertical resolution. Indeed, these climate phenomena have been studied for decades for the Earth's atmosphere, and result from small- and large-scale interactions between the troposphere and stratosphere. This implies that the propagation of dynamic instabilities, waves and turbulence should be resolved as far as possible along the vertical. Contrary to horizontal resolution, it doesn't really exist a criterion (similar to $$L_D$$) to determine the most suitable vertical grid resolution and still an adjustable parameter according to the processes to be represented. However, we advise the user to set a vertical resolution of at least 5 grid points per scale height as first stage.    &lt;br /&gt;
Finally, these atmospheres are cold, with long radiative response time which needs radiative transfer computations over decade-long years of Jupiter (given that a Jupiter year $$\approx$$ 12 Earth years), Saturn ( a Saturn year $$\approx$$ 30 Earth years), Uranus (a Uranus year $$\approx$$ 84 earth years) or Neptune (a Neptune year $$\approx$$ 169 Earth years), depending on the chosen planet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To be able to deal with these three -- and non-exhaustive -- requirements to build a giant planet GCM, we need massive computational ressources. For this, we use a dynamical core suitable and numerically stable for massive parallel ressource computations: [[The_DYNAMICO_dynamical_core | DYNAMICO]] [Dubos et al,. 2015].  &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
In these two following subsections, we purpose an example of installation for Jupiter and a Hot Jupiter. All the install, compiling, setting and parameters files for each giant planets could be found on: https://gitlab.in2p3.fr/aymeric.spiga/dynamico-giant (the old repo is archived as read-only https://github.com/aymeric-spiga/dynamico-giant)&lt;br /&gt;
&lt;br /&gt;
The [[Dynamico-giant | DYNAMICO-giant wiki is here]]&lt;br /&gt;
&lt;br /&gt;
If you have already downloaded '''LMDZ.COMMON''', '''LMDZ.GENERIC''', '''IOIPSL''', '''ARCH''', you only have to download:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''ICOSAGCM''': the DYNAMICO dynamical core&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://gitlab.in2p3.fr/ipsl/projets/dynamico/dynamico.git ICOSAGCM&lt;br /&gt;
cd ICOSAGCM&lt;br /&gt;
git checkout 90f7138a60ebd3644fbbc42bc9dfa22923386385&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''ICOSA_LMDZ''': the interface using to link LMDZ.GENERIC physical packages and ICOSAGCM&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
svn update -r 2655 -q ICOSA_LMDZ&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''XIOS (XML Input Output Server)''': the library to interpolate input/output fields between the icosahedral and longitude/latitude regular grids on fly&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
svn co -r 2319 -q http://forge.ipsl.jussieu.fr/ioserver/svn/XIOS/trunk XIOS&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you haven't already download '''LMDZ.COMMON''', '''LMDZ.GENERIC''', '''IOIPSL''', '''ARCH''', you can use the '''install.sh''' script provided by the Github repository. &lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Once each part of the GCM is downloaded, you are able to compile it. &lt;br /&gt;
Firstly, you have to define your [[The_Target_Architecture_(&amp;quot;arch&amp;quot;)_Files | target architecture file ]] (hereafter named YOUR_ARCH_FILE) where you will fill in all the necessary information about the local environment, where libraries are located, which compiler, and compiler options will be used, etc.&lt;br /&gt;
Some architecture files related to specific machines are provided in the '''ARCH''' directory, which are referenced in the following lines without the prefix 'arch-' (i.e., arch-X64_IRENE-AMD.env will be referenced as X64_IRENE-AMD).  &lt;br /&gt;
&lt;br /&gt;
The main specificity of DYNAMICO-giant is that every main parts of the model ('''ICOSAGCM''', '''LMDZ.COMMON''' and '''LMDZ.GENERIC''') are compiled as libraries, and settings and running configuration are managed by the '''ICOSA_LMDZ''' interface.&lt;br /&gt;
&lt;br /&gt;
First, you have to compile '''IOIPSL''',&lt;br /&gt;
 &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd LMDZ.COMMON/ioipsl/                                                                                                             &lt;br /&gt;
    ./install_ioipsl_YOUR-MACHINE.bash&lt;br /&gt;
cd ../../&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
then '''XIOS''' library, &lt;br /&gt;
 &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd XIOS/                                                                                                               &lt;br /&gt;
    ./make_xios --prod --arch YOUR_ARCH_FILE --arch_path ../ARCH --job 8 --full&lt;br /&gt;
cd -&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
the physics packaging,&lt;br /&gt;
 &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd LMDZ.COMMON/                                                                                                        &lt;br /&gt;
    ./makelmdz_fcm -p std -p_opt &amp;quot;-b 20x25 -s 2&amp;quot; -prod -parallel mpi -libphy -io xios -arch YOUR_ARCH_FILE -arch_path ../ARCH -j 8 -full&lt;br /&gt;
cd -&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
the dynamical core '''DYNAMICO''' (located in '''ICOSAGCM''' directory, named from the icosahedral shape of the horizontal mesh),&lt;br /&gt;
 &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ICOSAGCM/&lt;br /&gt;
    ./make_icosa -prod -parallel mpi -external_ioipsl -with_xios -arch YOUR_ARCH_FILE -arch_path ../ARCH -job 8 -full&lt;br /&gt;
cd -&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
and finally the '''ICOSA_LMDZ''' interface&lt;br /&gt;
 &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ICOSA_LMDZ/&lt;br /&gt;
    ./make_icosa_lmdz -p std -p_opt &amp;quot;-b 20x25 -s 2&amp;quot; -parallel mpi -arch YOUR_ARCH_FILE -arch_path ../ARCH -job 8 -nodeps&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
This last step is a bit redundant with the two previous one, hence ''make_icosa_lmdz'' will execute ''./make_icosa'' (in the '''ICOSAGCM''' directory) and ''./makelmdz_fcm'' (in the '''LMDZ.COMMON''' directory) to create and source the architecture files shared between all parts of the model, as well as create the intermediate file ''config.fcm''. As you have already compiled these two elements, ''make_icosa_lmdz'' should only create the linked architecture files, ''config.fcm'' and compile the interface. Here, ''-nodeps'' option prevents the checking of XIOS and IOIPSL compilation, which saves you from recompiling these two elements again.&lt;br /&gt;
      &lt;br /&gt;
Finally, your executable programs should appeared in '''ICOSA_LMDZ/bin''' subdirectory, as '''icosa_lmdz.exe''' and in '''XIOS/bin''' subdirectory, as '''xios_server.exe''' &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All these compiling steps are summed up in ''make_isoca_lmdz'' program that should be adapted to your own computational settings (i.e., through you target architecture file).&lt;br /&gt;
 &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
./make_icosa_lmdz -p std -p_opt &amp;quot;-b 20x25 -s 2&amp;quot; -parallel mpi -arch YOUR_ARCH_FILE -arch_path ../ARCH -job 8 -full&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
Here, ''-full'' option assure the compilation of each part ('''IOIPSL''', '''XIOS''', '''LMDZ.COMMON''', '''ICOSAGCM''' and '''ICOSA_LMDZ''') of the model.  &lt;br /&gt;
&lt;br /&gt;
Now you can move your two executable files to your working directory and start to run your own simulation of Jupiter or a Hot Jupiter, as what follows.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: If you are using the GitHub file architecture (https://github.com/aymeric-spiga/dynamico-giant), you should be able to compile the model directly from your working directory (for instance ''dynamico-giant/jupiter/'') by using the ''compile_occigen.sh'' program, which has to be adapted to your machine/cluster. &lt;br /&gt;
&lt;br /&gt;
=== Jupiter with DYNAMICO ===&lt;br /&gt;
Using a new dynamical core implies new setting files, in addition or as a replacement of those relevant to '''LMDZ.COMMON''' dynamical core using. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are two kind of setting files:&lt;br /&gt;
&lt;br /&gt;
'''A first group relevant to DYNAMICO:'''&lt;br /&gt;
&lt;br /&gt;
- [[The ''context_dynamico.xml'' Input File|''context_dynamico.xml'']]: Configuration file for '''DYNAMICO''' for reading and writing  files using '''XIOS''', mainly used when you want to check the installation of '''ICOSAGCM''' with [[The_DYNAMICO_dynamical_core | an ''Held and Suarez'' test case]]. When your installation, compilation and run environment is fully functional, the dynamic core output files will not (necessarily) be useful and you can disable their writing. &lt;br /&gt;
&lt;br /&gt;
- [[The context_input_dynamico.xml Input File|''context_input_dynamico.xml'']]:&lt;br /&gt;
&lt;br /&gt;
- [[The file_def_dynamico.xml Input File|''file_def_dynamico.xml'']]: Definition of output diagnostic files which will be written into the output files only related to '''ICOSAGCM'''. &lt;br /&gt;
&lt;br /&gt;
- [[The field_def_dynamico.xml Input File|''field_def_dynamico.xml'']]: Definition of all existing variables that can be output from DYNAMICO.&lt;br /&gt;
&lt;br /&gt;
- [[The tracer.def Input File|''tracer.def'']]: Definition of the name and physico-chemical properties of the tracers which will be advected by the dynamical core. For now, there is two files related to tracers, we are working to harmonise it.  &lt;br /&gt;
&lt;br /&gt;
''' A second group relevant to LMDZ.GENERIC physical packages: '''&lt;br /&gt;
&lt;br /&gt;
- [[The context_lmdz_physics.xml Input File|''context_lmdz_physics.xml'']]: File in which are defined the horizontal grid, vertical coordinate, output file(s) definition, with the setting of frequency output writing, time unit, geophysical variables to be written, etc. Each new geophysical variables added here have to be defined in the ''field_def_physics.xml'' file.&lt;br /&gt;
&lt;br /&gt;
- [[The field_def_physics.xml Input File|''field_def_physics.xml'']]: Definition of all existing variables that can be output from the physical packages interfaced with '''DYNAMICO'''. This is where you will add each geophysical fields that you want to appear in the ''Xhistins.nc'' output files. For instance, related to the ''thermal plume scheme'' using for Jupiter's tropospheric dynamics, we have added the following variables: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line&amp;gt;&lt;br /&gt;
             &amp;lt;field id=&amp;quot;h2o_vap&amp;quot; &lt;br /&gt;
                   long_name=&amp;quot;Vapor mass mixing ratio&amp;quot; &lt;br /&gt;
                   unit=&amp;quot;kg/kg&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;field id=&amp;quot;h2o_ice&amp;quot; &lt;br /&gt;
                   long_name=&amp;quot;Vapor mass mixing ratio&amp;quot; &lt;br /&gt;
                   unit=&amp;quot;kg/kg&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;field id=&amp;quot;detr&amp;quot; &lt;br /&gt;
                   long_name=&amp;quot;Detrainment&amp;quot; &lt;br /&gt;
                   unit=&amp;quot;kg/m2/s&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;field id=&amp;quot;entr&amp;quot; &lt;br /&gt;
                   long_name=&amp;quot;Entrainment&amp;quot; &lt;br /&gt;
                   unit=&amp;quot;kg/m2/s&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;field id=&amp;quot;w_plm&amp;quot; &lt;br /&gt;
                   long_name=&amp;quot;Plume vertical velocity&amp;quot; &lt;br /&gt;
                   unit=&amp;quot;m/s&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- [[The_callphys.def_Input_File|''callphys.def'']]: This setting file is used either with '''DYNAMICO''' or '''LMDZ.COMMON''' and allows the user to choose the physical parametrisation schemes and their appropriate main parameter values relevant to the planet being simulated. In our case of Jupiter, there are some specific parametrisations that should be added or modified from the example given as link at the beginning of this line: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line&amp;gt;&lt;br /&gt;
# Diurnal cycle ?  if diurnal=false, diurnally averaged solar heating&lt;br /&gt;
diurnal      = .false. #.true.&lt;br /&gt;
# Seasonal cycle ? if season=false, Ls stays constant, to value set in &amp;quot;start&amp;quot;&lt;br /&gt;
season       = .true. &lt;br /&gt;
# Tidally resonant orbit ? must have diurnal=false, correct rotation rate in newstart&lt;br /&gt;
tlocked      = .false.&lt;br /&gt;
# Tidal resonance ratio ? ratio T_orbit to T_rotation&lt;br /&gt;
nres         = 1&lt;br /&gt;
# Planet with rings?&lt;br /&gt;
rings_shadow = .false.&lt;br /&gt;
# Compute latitude-dependent gravity field??&lt;br /&gt;
oblate       = .true.&lt;br /&gt;
# Include non-zero flattening (a-b)/a?&lt;br /&gt;
flatten      = 0.06487&lt;br /&gt;
# Needed if oblate=.true.: J2&lt;br /&gt;
J2           = 0.01470&lt;br /&gt;
# Needed if oblate=.true.: Planet mean radius (m)&lt;br /&gt;
Rmean        = 69911000.&lt;br /&gt;
# Needed if oblate=.true.: Mass of the planet (*1e24 kg)&lt;br /&gt;
MassPlanet   = 1898.3&lt;br /&gt;
# use (read/write) a startfi.nc file? (default=.true.)&lt;br /&gt;
startphy_file = .false.&lt;br /&gt;
# constant value for surface albedo (if startphy_file = .false.)&lt;br /&gt;
surfalbedo   = 0.0&lt;br /&gt;
# constant value for surface emissivity (if startphy_file = .false.)&lt;br /&gt;
surfemis     = 1.0&lt;br /&gt;
&lt;br /&gt;
# the rad. transfer is computed every &amp;quot;iradia&amp;quot; physical timestep&lt;br /&gt;
iradia           = 160&lt;br /&gt;
# folder in which correlated-k data is stored ?&lt;br /&gt;
corrkdir         = Jupiter_HITRAN2012_REY_ISO_NoKarko_T460K_article2019_gauss8p8_095&lt;br /&gt;
# Uniform absorption coefficient in radiative transfer?&lt;br /&gt;
graybody         = .false.&lt;br /&gt;
# Characteristic planetary equilibrium (black body) temperature&lt;br /&gt;
# This is used only in the aerosol radiative transfer setup. (see aerave.F)&lt;br /&gt;
tplanet          = 100.&lt;br /&gt;
# Output global radiative balance in file 'rad_bal.out' - slow for 1D!!&lt;br /&gt;
meanOLR          = .false.&lt;br /&gt;
# Variable gas species: Radiatively active ?&lt;br /&gt;
varactive        = .false.&lt;br /&gt;
# Computes atmospheric specific heat capacity and&lt;br /&gt;
# could calculated by the dynamics, set in callphys.def or calculeted from gases.def.&lt;br /&gt;
# You have to choose: 0 for dynamics (3d), 1 for forced in callfis (1d) or 2: computed from gases.def (1d)&lt;br /&gt;
# Force_cpp and check_cpp_match are now deprecated.  &lt;br /&gt;
cpp_mugaz_mode = 0&lt;br /&gt;
# Specific heat capacity in J K-1 kg-1 [only used if cpp_mugaz_mode = 1]&lt;br /&gt;
cpp              = 11500.&lt;br /&gt;
# Molecular mass in g mol-1 [only used if cpp_mugaz_mode = 1]&lt;br /&gt;
mugaz            = 2.30&lt;br /&gt;
### DEBUG&lt;br /&gt;
# To not call abort when temperature is outside boundaries:&lt;br /&gt;
strictboundcorrk = .false.&lt;br /&gt;
# To not stop run when temperature is greater than 400 K for H2-H2 CIA dataset:   &lt;br /&gt;
strictboundcia = .false.&lt;br /&gt;
# Add temperature sponge effect after radiative transfer?&lt;br /&gt;
callradsponge    = .false.&lt;br /&gt;
&lt;br /&gt;
Fat1AU = 1366.0&lt;br /&gt;
&lt;br /&gt;
## Other physics options&lt;br /&gt;
## ~~~~~~~~~~~~~~~~~~~~~&lt;br /&gt;
# call turbulent vertical diffusion ?&lt;br /&gt;
calldifv    = .false.&lt;br /&gt;
# use turbdiff instead of vdifc ?&lt;br /&gt;
UseTurbDiff = .true.&lt;br /&gt;
# call convective adjustment ?&lt;br /&gt;
calladj     = .true.&lt;br /&gt;
# call thermal plume model ?&lt;br /&gt;
calltherm   = .true.&lt;br /&gt;
# call thermal conduction in the soil ?&lt;br /&gt;
callsoil    = .false.&lt;br /&gt;
# Internal heat flux (matters only if callsoil=F)&lt;br /&gt;
intheat     = 7.48&lt;br /&gt;
# Remove lower boundary (e.g. for gas giant sims)&lt;br /&gt;
nosurf      = .true.&lt;br /&gt;
#########################################################################&lt;br /&gt;
## extra non-standard definitions for Earth&lt;br /&gt;
#########################################################################&lt;br /&gt;
&lt;br /&gt;
## Thermal plume model options&lt;br /&gt;
## ~~~~~~~~~~~~~~~~~~~~~~~~~~~&lt;br /&gt;
dvimpl               = .true.&lt;br /&gt;
r_aspect_thermals    = 2.0&lt;br /&gt;
tau_thermals         = 0.0&lt;br /&gt;
betalpha             = 0.9&lt;br /&gt;
afact                = 0.7&lt;br /&gt;
fact_epsilon         = 2.e-4&lt;br /&gt;
alpha_max            = 0.7&lt;br /&gt;
fomass_max           = 0.5&lt;br /&gt;
pres_limit           = 2.e5&lt;br /&gt;
&lt;br /&gt;
## Tracer and aerosol options&lt;br /&gt;
## ~~~~~~~~~~~~~~~~~~~~~~~~~~&lt;br /&gt;
# Ammonia cloud (Saturn/Jupiter)?&lt;br /&gt;
aeronh3             = .true.&lt;br /&gt;
size_nh3_cloud      = 10.D-6&lt;br /&gt;
pres_nh3_cloud      = 1.1D5                        # old: 9.D4&lt;br /&gt;
tau_nh3_cloud       = 10.                          # old: 15.&lt;br /&gt;
# Radiatively active aerosol (Saturn/Jupiter)?&lt;br /&gt;
aeroback2lay         = .true.&lt;br /&gt;
optprop_back2lay_vis = optprop_jupiter_vis_n20.dat&lt;br /&gt;
optprop_back2lay_ir  = optprop_jupiter_ir_n20.dat&lt;br /&gt;
obs_tau_col_tropo    = 4.0&lt;br /&gt;
size_tropo           = 5.e-7&lt;br /&gt;
pres_bottom_tropo    = 8.0D4&lt;br /&gt;
pres_top_tropo       = 1.8D4&lt;br /&gt;
obs_tau_col_strato   = 0.1D0&lt;br /&gt;
# Auroral aerosols (Saturn/Jupiter)?&lt;br /&gt;
aeroaurora         = .false.&lt;br /&gt;
size_aurora        = 3.e-7&lt;br /&gt;
obs_tau_col_aurora = 2.0&lt;br /&gt;
&lt;br /&gt;
# Radiatively active CO2 aerosol?&lt;br /&gt;
aeroco2            = .false.&lt;br /&gt;
# Fixed CO2 aerosol distribution?&lt;br /&gt;
aerofixco2     = .false.&lt;br /&gt;
# Radiatively active water aerosol?&lt;br /&gt;
aeroh2o        = .false.&lt;br /&gt;
# Fixed water aerosol distribution?&lt;br /&gt;
aerofixh2o     = .false.&lt;br /&gt;
# basic dust opacity&lt;br /&gt;
dusttau        = 0.0&lt;br /&gt;
# Varying H2O cloud fraction?&lt;br /&gt;
CLFvarying     = .false.&lt;br /&gt;
# H2O cloud fraction if fixed?&lt;br /&gt;
CLFfixval      = 0.0&lt;br /&gt;
# fixed radii for cloud particles?&lt;br /&gt;
radfixed       = .false.&lt;br /&gt;
# number mixing ratio of CO2 ice particles&lt;br /&gt;
Nmix_co2       = 100000.&lt;br /&gt;
# number mixing ratio of water particles (for rafixed=.false.)&lt;br /&gt;
Nmix_h2o       = 1.e7&lt;br /&gt;
# number mixing ratio of water ice particles (for rafixed=.false.)&lt;br /&gt;
Nmix_h2o_ice   = 5.e5&lt;br /&gt;
# radius of H2O water particles (for rafixed=.true.):&lt;br /&gt;
rad_h2o        = 10.e-6&lt;br /&gt;
# radius of H2O ice particles (for rafixed=.true.):&lt;br /&gt;
rad_h2o_ice    = 35.e-6&lt;br /&gt;
# atm mass update due to tracer evaporation/condensation?&lt;br /&gt;
mass_redistrib = .false.&lt;br /&gt;
&lt;br /&gt;
## Water options &lt;br /&gt;
## ~~~~~~~~~~~~~&lt;br /&gt;
# Model water cycle&lt;br /&gt;
water         = .true.&lt;br /&gt;
# Model water cloud formation&lt;br /&gt;
watercond     = .true.&lt;br /&gt;
# Model water precipitation (including coagulation etc.)&lt;br /&gt;
waterrain     = .true.&lt;br /&gt;
# Use simple precipitation scheme?&lt;br /&gt;
precip_scheme = 1&lt;br /&gt;
# Evaporate precipitation?&lt;br /&gt;
evap_prec     = .true.&lt;br /&gt;
# multiplicative constant in Boucher 95 precip scheme&lt;br /&gt;
Cboucher      = 1.&lt;br /&gt;
# Include hydrology ?&lt;br /&gt;
hydrology     = .false.&lt;br /&gt;
# H2O snow (and ice) albedo ?&lt;br /&gt;
albedosnow    = 0.6&lt;br /&gt;
# Maximum sea ice thickness ?&lt;br /&gt;
maxicethick   = 10.&lt;br /&gt;
# Freezing point of seawater (degrees C) ?&lt;br /&gt;
Tsaldiff      = 0.0&lt;br /&gt;
# Evolve surface water sources ?&lt;br /&gt;
sourceevol    = .false.&lt;br /&gt;
&lt;br /&gt;
## CO2 options &lt;br /&gt;
## ~~~~~~~~~~~&lt;br /&gt;
# call CO2 condensation ?&lt;br /&gt;
co2cond       = .false.&lt;br /&gt;
# Set initial temperature profile to 1 K above CO2 condensation everywhere?&lt;br /&gt;
nearco2cond   = .false.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- [[The_gases.def_Input_file|''gases.def'']]: File containing the gas composition of the atmosphere you want to model, with their molar mixing ratios. &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line&amp;gt;&lt;br /&gt;
# gases&lt;br /&gt;
5&lt;br /&gt;
H2_&lt;br /&gt;
He_&lt;br /&gt;
CH4&lt;br /&gt;
C2H2&lt;br /&gt;
C2H6&lt;br /&gt;
0.863&lt;br /&gt;
0.134&lt;br /&gt;
0.0018&lt;br /&gt;
1.e-7&lt;br /&gt;
1.e-5&lt;br /&gt;
# First line is number of gases&lt;br /&gt;
# Followed by gas names (always 3 characters)&lt;br /&gt;
# and then molar mixing ratios.&lt;br /&gt;
# mixing ratio -1 means the gas is variable.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- [[The jupiter_const.def Input File|''jupiter_const.def'']]: Files that gather all orbital and physical parameters of Jupiter.&lt;br /&gt;
&lt;br /&gt;
- [[The_traceur.def_Input_File|''traceur.def'']]: At this time, only two tracers are used for modelling Jupiter atmosphere, so the ''traceur.def'' file is summed up as follow&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line&amp;gt;&lt;br /&gt;
2&lt;br /&gt;
h2o_vap&lt;br /&gt;
h2o_ice&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''' Two additional files are used to set the running parameter of the simulation itself:'''&lt;br /&gt;
&lt;br /&gt;
- [[The run_icosa.def Input File | ''run_icosa.def'']]: file containing parameters for '''ICOSAGCM''' to execute the simulation, use to determine the [[Advanced Use of the GCM | horizontal and vertical resolutions]], the number of processors, the number of subdivisions, the duration of the simulation, etc.&lt;br /&gt;
&lt;br /&gt;
- ''run.def'': file which brings together all the setting files and will be reading by the interface '''ICOSA_LMDZ''' to link each part of the model ('''ICOSAGCM''', '''LMDZ.GENERIC''') with its particular setting file(s) when the library '''XIOS''' does not take action (through the ''.xml'' files).&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line&amp;gt;&lt;br /&gt;
###########################################################################&lt;br /&gt;
### INCLUDE OTHER DEF FILES (physics, specific settings, etc...)&lt;br /&gt;
###########################################################################&lt;br /&gt;
INCLUDEDEF=run_icosa.def&lt;br /&gt;
&lt;br /&gt;
INCLUDEDEF=jupiter_const.def&lt;br /&gt;
&lt;br /&gt;
INCLUDEDEF=callphys.def&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
prt_level=0&lt;br /&gt;
&lt;br /&gt;
## iphysiq must be same as itau_physics&lt;br /&gt;
iphysiq=40&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hot Jupiter with DYNAMICO ===&lt;br /&gt;
&lt;br /&gt;
Modelling the atmosphere of Hot Jupiter is challenging because of the extreme temperature conditions, and the fact that these planets are gas giants. Therefore, using a dynamical core such as Dynamico is strongly recommended. Here, we discuss how to perform a cloudless simulation of the Hot Jupiter WASP-43 b, using Dynamico.&lt;br /&gt;
&lt;br /&gt;
'''1st step''': You need to go to the github mentionned previously for Dynamico: https://github.com/aymeric-spiga/dynamico-giant. ''Git clone'' this repo on your favorite cluster, and ''checkout'' to the &amp;quot;hot_jupiter&amp;quot; branch.&lt;br /&gt;
&lt;br /&gt;
'''2nd step''': Now, run the install.sh script. This script will install '''all''' the required models ('''LMDZ.COMMON''', '''LMDZ.GENERIC''','''ICOSA_LMDZ''','''XIOS''','''FCM''','''ICOSAGCM'''). At this point, you only miss '''IOIPSL'''. To install it, go to &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt; &lt;br /&gt;
dynamico-giant/code/LMDZ.COMMON/ioipsl/ &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There, you will find some examples of installations script. You need to create one that will work on your cluster, with your own arch files.&lt;br /&gt;
During the installation of '''IOIPSL''', you might be asked for a login/password. Contact TGCC computing center to get access.&lt;br /&gt;
&lt;br /&gt;
'''3rd step''': Great, now we have all we need to get started. Navigate to the ''hot_jupiter'' folder. You will find a ''compile_mesopsl.sh'' and a ''compile_occigen.sh'' script. Use them as examples to create the compile script adapted to your own cluster, then run it. &lt;br /&gt;
While running, I suggest that you take a look at the ''log_compile'' file. The compilation can take a while (~ 10minutes, especially because of XIOS). On quick trick to make sure that everything went right is to check the number of ''Build command finished'' messages in ''log_compile''. If everything worked out, there should be 6 of them.&lt;br /&gt;
&lt;br /&gt;
'''4th step''': Okay, the model compiled, good job ! Now we need to create the initial condition for our run. In the hot_jupiter1d folder, you already have a ''temp_profile.txt'' computed with the 1D version of the LMDZ.GENERIC (see rcm1d on this page). Thus, no need to recompute a 1D model but it will be needed if you want to model another Hot Jupiter.&lt;br /&gt;
Navigate to the 'makestart' folder, located at &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt; &lt;br /&gt;
dynamico-giant/hot_jupiter/makestart/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
To generate the initial conditions for the 3D run, we're gonna start the model using the temperature profile from the 1D run. to do that, you will find a &amp;quot;job_mpi&amp;quot; script. Open it, and adapt it to your cluster and launch the job. This job is using 20 procs, and it runs 5 days of simulations. &lt;br /&gt;
If everything goes well, you should see few netcdf files appear. The important ones are '''start_icosa0.nc''', '''startfi0.nc''' and '''Xhistins.nc'''. &lt;br /&gt;
If you see these files, you're all set to launch a real simulation !&lt;br /&gt;
&lt;br /&gt;
'''5th step''': Go back to ''hot_jupiter'' folder. There are a bunch of script to launch your simulation. Take a look at the ''astro_fat_mpi'' script, and adapt it to your cluster. Then you can launch your simulation by doing &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt; &lt;br /&gt;
./run_astro_fat&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
This will start the simulation, using 90 procs. In the same folder, check if the icosa_lmdz.out file is created. This is the logfile of the simulation, while it is running. You can check there that everything is going well.&lt;br /&gt;
&lt;br /&gt;
'''Important side note''': When using the ''run_astro_fat'' script to run a simulation, it will run a chained simulation, restarting the simulation from the previous state after 100 days of simulations and generating ''Xhistins.nc'' files. This is your results file, where you will find all the variables that controls your atmosphere (temperature field, wind fields, etc..). &lt;br /&gt;
&lt;br /&gt;
Good luck and enjoy the generic PCM Dynamico for Hot Jupiter !&lt;br /&gt;
&lt;br /&gt;
'''2nd important side note''': These 5 steps are the basic needed steps to run a simulation. If you want to tune simulations to another planet, or change other stuff, you need to take a look at '''*.def''' and '''*.xml''' files. If you're lost in all of this, take a look at the different pages of this website and/or contact us !&lt;br /&gt;
Also, you might want to check the wiki on the [https://github.com/aymeric-spiga/dynamico-giant ''Github''], that explains a lot of settings for Dynamico&lt;br /&gt;
&lt;br /&gt;
== 3D LES setup ==&lt;br /&gt;
&lt;br /&gt;
=== Proxima b with LES ===&lt;br /&gt;
&lt;br /&gt;
To model the subgrid atmospheric turbulence, the WRF dynamical core coupled with the LMD Generic physics package is used. The first studied conducted was to resolve the convective activity of the substellar point of Proxami-b (Lefevre et al 2021). The impact of the stellar insolation and rotation period were studied. The files for the reference case, with a stellar flux of 880 W/m2 and an 11 days rotation period, are presented&lt;br /&gt;
&lt;br /&gt;
The input_* file are the used to initialize the temperature, pressure, winds and moisture of the domain. &lt;br /&gt;
input_souding : altitude (km), potential temperature, water vapour (kg/kg), u, v&lt;br /&gt;
input_therm : normalized gas constant, isobaric heat capacity, pressure, density, temperature&lt;br /&gt;
input_hr : SW heating, LW heating, Large-scale heating extracted from the GCM. Only the last one is used in this configuration.&lt;br /&gt;
&lt;br /&gt;
The file namelist.input is used to set up the domain parameters (resolution, grid points, etc). The file levels specifies the eta-levels of the vertical domain.&lt;br /&gt;
&lt;br /&gt;
Planet is used set up the atmospheric parameters, in order : gravity (m/s2), isobaric heat capacity (J/kg/K), molecular mass (g/mol), reference temperature (K), surface pressure (Pa), planet radius (m) and planet rotation rate (s-1).&lt;br /&gt;
&lt;br /&gt;
The files *.def are the parameter for the physics. Compared to GCM runs, the convective adjustment in callphys.def is turned off&lt;br /&gt;
&lt;br /&gt;
The file controle.txt, equivalent of the field controle in GCM start.nc, needed to initialize some physics constants.&lt;br /&gt;
&lt;br /&gt;
TBC ML&lt;br /&gt;
&lt;br /&gt;
== 1D setup ==&lt;br /&gt;
&lt;br /&gt;
=== rcm1d test case ===&lt;br /&gt;
&lt;br /&gt;
Our 1-D forward model&lt;br /&gt;
&lt;br /&gt;
TBD by Gwenael ? (you can have a look at the Generic GCM User Manual for inspiration)&lt;br /&gt;
&lt;br /&gt;
=== kcm1d test case ===&lt;br /&gt;
&lt;br /&gt;
Our 1-D inverse model&lt;br /&gt;
&lt;br /&gt;
TBD by Guillaume or Martin&lt;/div&gt;</summary>
		<author><name>Aspiga</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Other_GCM_Configurations_worth_knowing_about&amp;diff=1174</id>
		<title>Other GCM Configurations worth knowing about</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Other_GCM_Configurations_worth_knowing_about&amp;diff=1174"/>
				<updated>2023-01-24T22:20:03Z</updated>
		
		<summary type="html">&lt;p&gt;Aspiga: /* 3D DYNAMICO setup */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== 3D lon-lat LMDZ setup ==&lt;br /&gt;
&lt;br /&gt;
=== early Mars ===&lt;br /&gt;
&lt;br /&gt;
It is already described in the [https://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php/Quick_Install_and_Run ''Quick Install and Run''] section.&lt;br /&gt;
&lt;br /&gt;
=== Earth with slab ocean ===&lt;br /&gt;
&lt;br /&gt;
TBD by Martin (I will update this case as soon as Siddharth has committed changes)&lt;br /&gt;
&lt;br /&gt;
=== TRAPPIST-1e with photochemistry ===&lt;br /&gt;
&lt;br /&gt;
A temperate rocky planet in synchronous rotation around a low mass star&lt;br /&gt;
&lt;br /&gt;
TBD by Yassin&lt;br /&gt;
&lt;br /&gt;
=== TRAPPIST-1c in Venus-like conditions ===&lt;br /&gt;
&lt;br /&gt;
A warm rocky planet in synchronous rotation around a low mass star&lt;br /&gt;
&lt;br /&gt;
TBD by Gabriella (waiting for the SVN update by Ehouarn)&lt;br /&gt;
&lt;br /&gt;
=== mini-Neptune GJ1214b ===&lt;br /&gt;
&lt;br /&gt;
A warm mini-Neptune&lt;br /&gt;
&lt;br /&gt;
TBD by Benjamin&lt;br /&gt;
&lt;br /&gt;
== 3D DYNAMICO setup ==&lt;br /&gt;
&lt;br /&gt;
Due to the rich dynamical activities in their atmospheres (banded zonal jets, eddies, vortices, storms, equatorial oscillations,...) resulting from multi-scale dynamic interactions, the Global Climate Modelling of the giant planet requires to resolve eddies arising from hydrodynamical instabilities to correctly establish the planetary-scaled jets regime. To this purpose, their Rossby radius deformation $$L_D$$, which is the length scale at which rotational effects become as important as buoyancy or gravity wave effects in the evolution of the flow about some disturbance, is calculated to determine the most suitable horizontal grid resolution. At mid-latitude range, for the giant planets, $$L_D$$ is of the same order of magnitude as that of the Earth. As the giant planets have a size of roughly 10 times the Earth size (i.e., Jupiter and Saturn), the modelling grid must be of a horizontal resolution of 0.5$$^{\circ}$$ over longitude and latitude (vs 5$$^{\circ}$$ for the Earth), considering 3 grid points to resolved $$L_D$$. &lt;br /&gt;
Moreover, to have a chance to model the equatorial oscillation, meridional cell circulations and/or a seasonal inter-hemispheric circulation, a giant planet GCM must also include a high vertical resolution. Indeed, these climate phenomena have been studied for decades for the Earth's atmosphere, and result from small- and large-scale interactions between the troposphere and stratosphere. This implies that the propagation of dynamic instabilities, waves and turbulence should be resolved as far as possible along the vertical. Contrary to horizontal resolution, it doesn't really exist a criterion (similar to $$L_D$$) to determine the most suitable vertical grid resolution and still an adjustable parameter according to the processes to be represented. However, we advise the user to set a vertical resolution of at least 5 grid points per scale height as first stage.    &lt;br /&gt;
Finally, these atmospheres are cold, with long radiative response time which needs radiative transfer computations over decade-long years of Jupiter (given that a Jupiter year $$\approx$$ 12 Earth years), Saturn ( a Saturn year $$\approx$$ 30 Earth years), Uranus (a Uranus year $$\approx$$ 84 earth years) or Neptune (a Neptune year $$\approx$$ 169 Earth years), depending on the chosen planet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To be able to deal with these three -- and non-exhaustive -- requirements to build a giant planet GCM, we need massive computational ressources. For this, we use a dynamical core suitable and numerically stable for massive parallel ressource computations: [[The_DYNAMICO_dynamical_core | DYNAMICO]] [Dubos et al,. 2015].  &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
In these two following subsections, we purpose an example of installation for Jupiter and a Hot Jupiter. All the install, compiling, setting and parameters files for each giant planets could be found on: https://gitlab.in2p3.fr/aymeric.spiga/dynamico-giant (the old repo is archived as read-only https://github.com/aymeric-spiga/dynamico-giant)&lt;br /&gt;
&lt;br /&gt;
The [[DYNAMICO-giant wiki is here | Dynamico-giant]]&lt;br /&gt;
&lt;br /&gt;
If you have already downloaded '''LMDZ.COMMON''', '''LMDZ.GENERIC''', '''IOIPSL''', '''ARCH''', you only have to download:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''ICOSAGCM''': the DYNAMICO dynamical core&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://gitlab.in2p3.fr/ipsl/projets/dynamico/dynamico.git ICOSAGCM&lt;br /&gt;
cd ICOSAGCM&lt;br /&gt;
git checkout 90f7138a60ebd3644fbbc42bc9dfa22923386385&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''ICOSA_LMDZ''': the interface using to link LMDZ.GENERIC physical packages and ICOSAGCM&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
svn update -r 2655 -q ICOSA_LMDZ&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''XIOS (XML Input Output Server)''': the library to interpolate input/output fields between the icosahedral and longitude/latitude regular grids on fly&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
svn co -r 2319 -q http://forge.ipsl.jussieu.fr/ioserver/svn/XIOS/trunk XIOS&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you haven't already download '''LMDZ.COMMON''', '''LMDZ.GENERIC''', '''IOIPSL''', '''ARCH''', you can use the '''install.sh''' script provided by the Github repository. &lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Once each part of the GCM is downloaded, you are able to compile it. &lt;br /&gt;
Firstly, you have to define your [[The_Target_Architecture_(&amp;quot;arch&amp;quot;)_Files | target architecture file ]] (hereafter named YOUR_ARCH_FILE) where you will fill in all the necessary information about the local environment, where libraries are located, which compiler, and compiler options will be used, etc.&lt;br /&gt;
Some architecture files related to specific machines are provided in the '''ARCH''' directory, which are referenced in the following lines without the prefix 'arch-' (i.e., arch-X64_IRENE-AMD.env will be referenced as X64_IRENE-AMD).  &lt;br /&gt;
&lt;br /&gt;
The main specificity of DYNAMICO-giant is that every main parts of the model ('''ICOSAGCM''', '''LMDZ.COMMON''' and '''LMDZ.GENERIC''') are compiled as libraries, and settings and running configuration are managed by the '''ICOSA_LMDZ''' interface.&lt;br /&gt;
&lt;br /&gt;
First, you have to compile '''IOIPSL''',&lt;br /&gt;
 &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd LMDZ.COMMON/ioipsl/                                                                                                             &lt;br /&gt;
    ./install_ioipsl_YOUR-MACHINE.bash&lt;br /&gt;
cd ../../&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
then '''XIOS''' library, &lt;br /&gt;
 &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd XIOS/                                                                                                               &lt;br /&gt;
    ./make_xios --prod --arch YOUR_ARCH_FILE --arch_path ../ARCH --job 8 --full&lt;br /&gt;
cd -&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
the physics packaging,&lt;br /&gt;
 &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd LMDZ.COMMON/                                                                                                        &lt;br /&gt;
    ./makelmdz_fcm -p std -p_opt &amp;quot;-b 20x25 -s 2&amp;quot; -prod -parallel mpi -libphy -io xios -arch YOUR_ARCH_FILE -arch_path ../ARCH -j 8 -full&lt;br /&gt;
cd -&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
the dynamical core '''DYNAMICO''' (located in '''ICOSAGCM''' directory, named from the icosahedral shape of the horizontal mesh),&lt;br /&gt;
 &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ICOSAGCM/&lt;br /&gt;
    ./make_icosa -prod -parallel mpi -external_ioipsl -with_xios -arch YOUR_ARCH_FILE -arch_path ../ARCH -job 8 -full&lt;br /&gt;
cd -&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
and finally the '''ICOSA_LMDZ''' interface&lt;br /&gt;
 &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ICOSA_LMDZ/&lt;br /&gt;
    ./make_icosa_lmdz -p std -p_opt &amp;quot;-b 20x25 -s 2&amp;quot; -parallel mpi -arch YOUR_ARCH_FILE -arch_path ../ARCH -job 8 -nodeps&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
This last step is a bit redundant with the two previous one, hence ''make_icosa_lmdz'' will execute ''./make_icosa'' (in the '''ICOSAGCM''' directory) and ''./makelmdz_fcm'' (in the '''LMDZ.COMMON''' directory) to create and source the architecture files shared between all parts of the model, as well as create the intermediate file ''config.fcm''. As you have already compiled these two elements, ''make_icosa_lmdz'' should only create the linked architecture files, ''config.fcm'' and compile the interface. Here, ''-nodeps'' option prevents the checking of XIOS and IOIPSL compilation, which saves you from recompiling these two elements again.&lt;br /&gt;
      &lt;br /&gt;
Finally, your executable programs should appeared in '''ICOSA_LMDZ/bin''' subdirectory, as '''icosa_lmdz.exe''' and in '''XIOS/bin''' subdirectory, as '''xios_server.exe''' &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All these compiling steps are summed up in ''make_isoca_lmdz'' program that should be adapted to your own computational settings (i.e., through you target architecture file).&lt;br /&gt;
 &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
./make_icosa_lmdz -p std -p_opt &amp;quot;-b 20x25 -s 2&amp;quot; -parallel mpi -arch YOUR_ARCH_FILE -arch_path ../ARCH -job 8 -full&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
Here, ''-full'' option assure the compilation of each part ('''IOIPSL''', '''XIOS''', '''LMDZ.COMMON''', '''ICOSAGCM''' and '''ICOSA_LMDZ''') of the model.  &lt;br /&gt;
&lt;br /&gt;
Now you can move your two executable files to your working directory and start to run your own simulation of Jupiter or a Hot Jupiter, as what follows.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: If you are using the GitHub file architecture (https://github.com/aymeric-spiga/dynamico-giant), you should be able to compile the model directly from your working directory (for instance ''dynamico-giant/jupiter/'') by using the ''compile_occigen.sh'' program, which has to be adapted to your machine/cluster. &lt;br /&gt;
&lt;br /&gt;
=== Jupiter with DYNAMICO ===&lt;br /&gt;
Using a new dynamical core implies new setting files, in addition or as a replacement of those relevant to '''LMDZ.COMMON''' dynamical core using. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are two kind of setting files:&lt;br /&gt;
&lt;br /&gt;
'''A first group relevant to DYNAMICO:'''&lt;br /&gt;
&lt;br /&gt;
- [[The ''context_dynamico.xml'' Input File|''context_dynamico.xml'']]: Configuration file for '''DYNAMICO''' for reading and writing  files using '''XIOS''', mainly used when you want to check the installation of '''ICOSAGCM''' with [[The_DYNAMICO_dynamical_core | an ''Held and Suarez'' test case]]. When your installation, compilation and run environment is fully functional, the dynamic core output files will not (necessarily) be useful and you can disable their writing. &lt;br /&gt;
&lt;br /&gt;
- [[The context_input_dynamico.xml Input File|''context_input_dynamico.xml'']]:&lt;br /&gt;
&lt;br /&gt;
- [[The file_def_dynamico.xml Input File|''file_def_dynamico.xml'']]: Definition of output diagnostic files which will be written into the output files only related to '''ICOSAGCM'''. &lt;br /&gt;
&lt;br /&gt;
- [[The field_def_dynamico.xml Input File|''field_def_dynamico.xml'']]: Definition of all existing variables that can be output from DYNAMICO.&lt;br /&gt;
&lt;br /&gt;
- [[The tracer.def Input File|''tracer.def'']]: Definition of the name and physico-chemical properties of the tracers which will be advected by the dynamical core. For now, there is two files related to tracers, we are working to harmonise it.  &lt;br /&gt;
&lt;br /&gt;
''' A second group relevant to LMDZ.GENERIC physical packages: '''&lt;br /&gt;
&lt;br /&gt;
- [[The context_lmdz_physics.xml Input File|''context_lmdz_physics.xml'']]: File in which are defined the horizontal grid, vertical coordinate, output file(s) definition, with the setting of frequency output writing, time unit, geophysical variables to be written, etc. Each new geophysical variables added here have to be defined in the ''field_def_physics.xml'' file.&lt;br /&gt;
&lt;br /&gt;
- [[The field_def_physics.xml Input File|''field_def_physics.xml'']]: Definition of all existing variables that can be output from the physical packages interfaced with '''DYNAMICO'''. This is where you will add each geophysical fields that you want to appear in the ''Xhistins.nc'' output files. For instance, related to the ''thermal plume scheme'' using for Jupiter's tropospheric dynamics, we have added the following variables: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line&amp;gt;&lt;br /&gt;
             &amp;lt;field id=&amp;quot;h2o_vap&amp;quot; &lt;br /&gt;
                   long_name=&amp;quot;Vapor mass mixing ratio&amp;quot; &lt;br /&gt;
                   unit=&amp;quot;kg/kg&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;field id=&amp;quot;h2o_ice&amp;quot; &lt;br /&gt;
                   long_name=&amp;quot;Vapor mass mixing ratio&amp;quot; &lt;br /&gt;
                   unit=&amp;quot;kg/kg&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;field id=&amp;quot;detr&amp;quot; &lt;br /&gt;
                   long_name=&amp;quot;Detrainment&amp;quot; &lt;br /&gt;
                   unit=&amp;quot;kg/m2/s&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;field id=&amp;quot;entr&amp;quot; &lt;br /&gt;
                   long_name=&amp;quot;Entrainment&amp;quot; &lt;br /&gt;
                   unit=&amp;quot;kg/m2/s&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;field id=&amp;quot;w_plm&amp;quot; &lt;br /&gt;
                   long_name=&amp;quot;Plume vertical velocity&amp;quot; &lt;br /&gt;
                   unit=&amp;quot;m/s&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- [[The_callphys.def_Input_File|''callphys.def'']]: This setting file is used either with '''DYNAMICO''' or '''LMDZ.COMMON''' and allows the user to choose the physical parametrisation schemes and their appropriate main parameter values relevant to the planet being simulated. In our case of Jupiter, there are some specific parametrisations that should be added or modified from the example given as link at the beginning of this line: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line&amp;gt;&lt;br /&gt;
# Diurnal cycle ?  if diurnal=false, diurnally averaged solar heating&lt;br /&gt;
diurnal      = .false. #.true.&lt;br /&gt;
# Seasonal cycle ? if season=false, Ls stays constant, to value set in &amp;quot;start&amp;quot;&lt;br /&gt;
season       = .true. &lt;br /&gt;
# Tidally resonant orbit ? must have diurnal=false, correct rotation rate in newstart&lt;br /&gt;
tlocked      = .false.&lt;br /&gt;
# Tidal resonance ratio ? ratio T_orbit to T_rotation&lt;br /&gt;
nres         = 1&lt;br /&gt;
# Planet with rings?&lt;br /&gt;
rings_shadow = .false.&lt;br /&gt;
# Compute latitude-dependent gravity field??&lt;br /&gt;
oblate       = .true.&lt;br /&gt;
# Include non-zero flattening (a-b)/a?&lt;br /&gt;
flatten      = 0.06487&lt;br /&gt;
# Needed if oblate=.true.: J2&lt;br /&gt;
J2           = 0.01470&lt;br /&gt;
# Needed if oblate=.true.: Planet mean radius (m)&lt;br /&gt;
Rmean        = 69911000.&lt;br /&gt;
# Needed if oblate=.true.: Mass of the planet (*1e24 kg)&lt;br /&gt;
MassPlanet   = 1898.3&lt;br /&gt;
# use (read/write) a startfi.nc file? (default=.true.)&lt;br /&gt;
startphy_file = .false.&lt;br /&gt;
# constant value for surface albedo (if startphy_file = .false.)&lt;br /&gt;
surfalbedo   = 0.0&lt;br /&gt;
# constant value for surface emissivity (if startphy_file = .false.)&lt;br /&gt;
surfemis     = 1.0&lt;br /&gt;
&lt;br /&gt;
# the rad. transfer is computed every &amp;quot;iradia&amp;quot; physical timestep&lt;br /&gt;
iradia           = 160&lt;br /&gt;
# folder in which correlated-k data is stored ?&lt;br /&gt;
corrkdir         = Jupiter_HITRAN2012_REY_ISO_NoKarko_T460K_article2019_gauss8p8_095&lt;br /&gt;
# Uniform absorption coefficient in radiative transfer?&lt;br /&gt;
graybody         = .false.&lt;br /&gt;
# Characteristic planetary equilibrium (black body) temperature&lt;br /&gt;
# This is used only in the aerosol radiative transfer setup. (see aerave.F)&lt;br /&gt;
tplanet          = 100.&lt;br /&gt;
# Output global radiative balance in file 'rad_bal.out' - slow for 1D!!&lt;br /&gt;
meanOLR          = .false.&lt;br /&gt;
# Variable gas species: Radiatively active ?&lt;br /&gt;
varactive        = .false.&lt;br /&gt;
# Computes atmospheric specific heat capacity and&lt;br /&gt;
# could calculated by the dynamics, set in callphys.def or calculeted from gases.def.&lt;br /&gt;
# You have to choose: 0 for dynamics (3d), 1 for forced in callfis (1d) or 2: computed from gases.def (1d)&lt;br /&gt;
# Force_cpp and check_cpp_match are now deprecated.  &lt;br /&gt;
cpp_mugaz_mode = 0&lt;br /&gt;
# Specific heat capacity in J K-1 kg-1 [only used if cpp_mugaz_mode = 1]&lt;br /&gt;
cpp              = 11500.&lt;br /&gt;
# Molecular mass in g mol-1 [only used if cpp_mugaz_mode = 1]&lt;br /&gt;
mugaz            = 2.30&lt;br /&gt;
### DEBUG&lt;br /&gt;
# To not call abort when temperature is outside boundaries:&lt;br /&gt;
strictboundcorrk = .false.&lt;br /&gt;
# To not stop run when temperature is greater than 400 K for H2-H2 CIA dataset:   &lt;br /&gt;
strictboundcia = .false.&lt;br /&gt;
# Add temperature sponge effect after radiative transfer?&lt;br /&gt;
callradsponge    = .false.&lt;br /&gt;
&lt;br /&gt;
Fat1AU = 1366.0&lt;br /&gt;
&lt;br /&gt;
## Other physics options&lt;br /&gt;
## ~~~~~~~~~~~~~~~~~~~~~&lt;br /&gt;
# call turbulent vertical diffusion ?&lt;br /&gt;
calldifv    = .false.&lt;br /&gt;
# use turbdiff instead of vdifc ?&lt;br /&gt;
UseTurbDiff = .true.&lt;br /&gt;
# call convective adjustment ?&lt;br /&gt;
calladj     = .true.&lt;br /&gt;
# call thermal plume model ?&lt;br /&gt;
calltherm   = .true.&lt;br /&gt;
# call thermal conduction in the soil ?&lt;br /&gt;
callsoil    = .false.&lt;br /&gt;
# Internal heat flux (matters only if callsoil=F)&lt;br /&gt;
intheat     = 7.48&lt;br /&gt;
# Remove lower boundary (e.g. for gas giant sims)&lt;br /&gt;
nosurf      = .true.&lt;br /&gt;
#########################################################################&lt;br /&gt;
## extra non-standard definitions for Earth&lt;br /&gt;
#########################################################################&lt;br /&gt;
&lt;br /&gt;
## Thermal plume model options&lt;br /&gt;
## ~~~~~~~~~~~~~~~~~~~~~~~~~~~&lt;br /&gt;
dvimpl               = .true.&lt;br /&gt;
r_aspect_thermals    = 2.0&lt;br /&gt;
tau_thermals         = 0.0&lt;br /&gt;
betalpha             = 0.9&lt;br /&gt;
afact                = 0.7&lt;br /&gt;
fact_epsilon         = 2.e-4&lt;br /&gt;
alpha_max            = 0.7&lt;br /&gt;
fomass_max           = 0.5&lt;br /&gt;
pres_limit           = 2.e5&lt;br /&gt;
&lt;br /&gt;
## Tracer and aerosol options&lt;br /&gt;
## ~~~~~~~~~~~~~~~~~~~~~~~~~~&lt;br /&gt;
# Ammonia cloud (Saturn/Jupiter)?&lt;br /&gt;
aeronh3             = .true.&lt;br /&gt;
size_nh3_cloud      = 10.D-6&lt;br /&gt;
pres_nh3_cloud      = 1.1D5                        # old: 9.D4&lt;br /&gt;
tau_nh3_cloud       = 10.                          # old: 15.&lt;br /&gt;
# Radiatively active aerosol (Saturn/Jupiter)?&lt;br /&gt;
aeroback2lay         = .true.&lt;br /&gt;
optprop_back2lay_vis = optprop_jupiter_vis_n20.dat&lt;br /&gt;
optprop_back2lay_ir  = optprop_jupiter_ir_n20.dat&lt;br /&gt;
obs_tau_col_tropo    = 4.0&lt;br /&gt;
size_tropo           = 5.e-7&lt;br /&gt;
pres_bottom_tropo    = 8.0D4&lt;br /&gt;
pres_top_tropo       = 1.8D4&lt;br /&gt;
obs_tau_col_strato   = 0.1D0&lt;br /&gt;
# Auroral aerosols (Saturn/Jupiter)?&lt;br /&gt;
aeroaurora         = .false.&lt;br /&gt;
size_aurora        = 3.e-7&lt;br /&gt;
obs_tau_col_aurora = 2.0&lt;br /&gt;
&lt;br /&gt;
# Radiatively active CO2 aerosol?&lt;br /&gt;
aeroco2            = .false.&lt;br /&gt;
# Fixed CO2 aerosol distribution?&lt;br /&gt;
aerofixco2     = .false.&lt;br /&gt;
# Radiatively active water aerosol?&lt;br /&gt;
aeroh2o        = .false.&lt;br /&gt;
# Fixed water aerosol distribution?&lt;br /&gt;
aerofixh2o     = .false.&lt;br /&gt;
# basic dust opacity&lt;br /&gt;
dusttau        = 0.0&lt;br /&gt;
# Varying H2O cloud fraction?&lt;br /&gt;
CLFvarying     = .false.&lt;br /&gt;
# H2O cloud fraction if fixed?&lt;br /&gt;
CLFfixval      = 0.0&lt;br /&gt;
# fixed radii for cloud particles?&lt;br /&gt;
radfixed       = .false.&lt;br /&gt;
# number mixing ratio of CO2 ice particles&lt;br /&gt;
Nmix_co2       = 100000.&lt;br /&gt;
# number mixing ratio of water particles (for rafixed=.false.)&lt;br /&gt;
Nmix_h2o       = 1.e7&lt;br /&gt;
# number mixing ratio of water ice particles (for rafixed=.false.)&lt;br /&gt;
Nmix_h2o_ice   = 5.e5&lt;br /&gt;
# radius of H2O water particles (for rafixed=.true.):&lt;br /&gt;
rad_h2o        = 10.e-6&lt;br /&gt;
# radius of H2O ice particles (for rafixed=.true.):&lt;br /&gt;
rad_h2o_ice    = 35.e-6&lt;br /&gt;
# atm mass update due to tracer evaporation/condensation?&lt;br /&gt;
mass_redistrib = .false.&lt;br /&gt;
&lt;br /&gt;
## Water options &lt;br /&gt;
## ~~~~~~~~~~~~~&lt;br /&gt;
# Model water cycle&lt;br /&gt;
water         = .true.&lt;br /&gt;
# Model water cloud formation&lt;br /&gt;
watercond     = .true.&lt;br /&gt;
# Model water precipitation (including coagulation etc.)&lt;br /&gt;
waterrain     = .true.&lt;br /&gt;
# Use simple precipitation scheme?&lt;br /&gt;
precip_scheme = 1&lt;br /&gt;
# Evaporate precipitation?&lt;br /&gt;
evap_prec     = .true.&lt;br /&gt;
# multiplicative constant in Boucher 95 precip scheme&lt;br /&gt;
Cboucher      = 1.&lt;br /&gt;
# Include hydrology ?&lt;br /&gt;
hydrology     = .false.&lt;br /&gt;
# H2O snow (and ice) albedo ?&lt;br /&gt;
albedosnow    = 0.6&lt;br /&gt;
# Maximum sea ice thickness ?&lt;br /&gt;
maxicethick   = 10.&lt;br /&gt;
# Freezing point of seawater (degrees C) ?&lt;br /&gt;
Tsaldiff      = 0.0&lt;br /&gt;
# Evolve surface water sources ?&lt;br /&gt;
sourceevol    = .false.&lt;br /&gt;
&lt;br /&gt;
## CO2 options &lt;br /&gt;
## ~~~~~~~~~~~&lt;br /&gt;
# call CO2 condensation ?&lt;br /&gt;
co2cond       = .false.&lt;br /&gt;
# Set initial temperature profile to 1 K above CO2 condensation everywhere?&lt;br /&gt;
nearco2cond   = .false.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- [[The_gases.def_Input_file|''gases.def'']]: File containing the gas composition of the atmosphere you want to model, with their molar mixing ratios. &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line&amp;gt;&lt;br /&gt;
# gases&lt;br /&gt;
5&lt;br /&gt;
H2_&lt;br /&gt;
He_&lt;br /&gt;
CH4&lt;br /&gt;
C2H2&lt;br /&gt;
C2H6&lt;br /&gt;
0.863&lt;br /&gt;
0.134&lt;br /&gt;
0.0018&lt;br /&gt;
1.e-7&lt;br /&gt;
1.e-5&lt;br /&gt;
# First line is number of gases&lt;br /&gt;
# Followed by gas names (always 3 characters)&lt;br /&gt;
# and then molar mixing ratios.&lt;br /&gt;
# mixing ratio -1 means the gas is variable.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- [[The jupiter_const.def Input File|''jupiter_const.def'']]: Files that gather all orbital and physical parameters of Jupiter.&lt;br /&gt;
&lt;br /&gt;
- [[The_traceur.def_Input_File|''traceur.def'']]: At this time, only two tracers are used for modelling Jupiter atmosphere, so the ''traceur.def'' file is summed up as follow&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line&amp;gt;&lt;br /&gt;
2&lt;br /&gt;
h2o_vap&lt;br /&gt;
h2o_ice&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''' Two additional files are used to set the running parameter of the simulation itself:'''&lt;br /&gt;
&lt;br /&gt;
- [[The run_icosa.def Input File | ''run_icosa.def'']]: file containing parameters for '''ICOSAGCM''' to execute the simulation, use to determine the [[Advanced Use of the GCM | horizontal and vertical resolutions]], the number of processors, the number of subdivisions, the duration of the simulation, etc.&lt;br /&gt;
&lt;br /&gt;
- ''run.def'': file which brings together all the setting files and will be reading by the interface '''ICOSA_LMDZ''' to link each part of the model ('''ICOSAGCM''', '''LMDZ.GENERIC''') with its particular setting file(s) when the library '''XIOS''' does not take action (through the ''.xml'' files).&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line&amp;gt;&lt;br /&gt;
###########################################################################&lt;br /&gt;
### INCLUDE OTHER DEF FILES (physics, specific settings, etc...)&lt;br /&gt;
###########################################################################&lt;br /&gt;
INCLUDEDEF=run_icosa.def&lt;br /&gt;
&lt;br /&gt;
INCLUDEDEF=jupiter_const.def&lt;br /&gt;
&lt;br /&gt;
INCLUDEDEF=callphys.def&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
prt_level=0&lt;br /&gt;
&lt;br /&gt;
## iphysiq must be same as itau_physics&lt;br /&gt;
iphysiq=40&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hot Jupiter with DYNAMICO ===&lt;br /&gt;
&lt;br /&gt;
Modelling the atmosphere of Hot Jupiter is challenging because of the extreme temperature conditions, and the fact that these planets are gas giants. Therefore, using a dynamical core such as Dynamico is strongly recommended. Here, we discuss how to perform a cloudless simulation of the Hot Jupiter WASP-43 b, using Dynamico.&lt;br /&gt;
&lt;br /&gt;
'''1st step''': You need to go to the github mentionned previously for Dynamico: https://github.com/aymeric-spiga/dynamico-giant. ''Git clone'' this repo on your favorite cluster, and ''checkout'' to the &amp;quot;hot_jupiter&amp;quot; branch.&lt;br /&gt;
&lt;br /&gt;
'''2nd step''': Now, run the install.sh script. This script will install '''all''' the required models ('''LMDZ.COMMON''', '''LMDZ.GENERIC''','''ICOSA_LMDZ''','''XIOS''','''FCM''','''ICOSAGCM'''). At this point, you only miss '''IOIPSL'''. To install it, go to &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt; &lt;br /&gt;
dynamico-giant/code/LMDZ.COMMON/ioipsl/ &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There, you will find some examples of installations script. You need to create one that will work on your cluster, with your own arch files.&lt;br /&gt;
During the installation of '''IOIPSL''', you might be asked for a login/password. Contact TGCC computing center to get access.&lt;br /&gt;
&lt;br /&gt;
'''3rd step''': Great, now we have all we need to get started. Navigate to the ''hot_jupiter'' folder. You will find a ''compile_mesopsl.sh'' and a ''compile_occigen.sh'' script. Use them as examples to create the compile script adapted to your own cluster, then run it. &lt;br /&gt;
While running, I suggest that you take a look at the ''log_compile'' file. The compilation can take a while (~ 10minutes, especially because of XIOS). On quick trick to make sure that everything went right is to check the number of ''Build command finished'' messages in ''log_compile''. If everything worked out, there should be 6 of them.&lt;br /&gt;
&lt;br /&gt;
'''4th step''': Okay, the model compiled, good job ! Now we need to create the initial condition for our run. In the hot_jupiter1d folder, you already have a ''temp_profile.txt'' computed with the 1D version of the LMDZ.GENERIC (see rcm1d on this page). Thus, no need to recompute a 1D model but it will be needed if you want to model another Hot Jupiter.&lt;br /&gt;
Navigate to the 'makestart' folder, located at &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt; &lt;br /&gt;
dynamico-giant/hot_jupiter/makestart/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
To generate the initial conditions for the 3D run, we're gonna start the model using the temperature profile from the 1D run. to do that, you will find a &amp;quot;job_mpi&amp;quot; script. Open it, and adapt it to your cluster and launch the job. This job is using 20 procs, and it runs 5 days of simulations. &lt;br /&gt;
If everything goes well, you should see few netcdf files appear. The important ones are '''start_icosa0.nc''', '''startfi0.nc''' and '''Xhistins.nc'''. &lt;br /&gt;
If you see these files, you're all set to launch a real simulation !&lt;br /&gt;
&lt;br /&gt;
'''5th step''': Go back to ''hot_jupiter'' folder. There are a bunch of script to launch your simulation. Take a look at the ''astro_fat_mpi'' script, and adapt it to your cluster. Then you can launch your simulation by doing &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt; &lt;br /&gt;
./run_astro_fat&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
This will start the simulation, using 90 procs. In the same folder, check if the icosa_lmdz.out file is created. This is the logfile of the simulation, while it is running. You can check there that everything is going well.&lt;br /&gt;
&lt;br /&gt;
'''Important side note''': When using the ''run_astro_fat'' script to run a simulation, it will run a chained simulation, restarting the simulation from the previous state after 100 days of simulations and generating ''Xhistins.nc'' files. This is your results file, where you will find all the variables that controls your atmosphere (temperature field, wind fields, etc..). &lt;br /&gt;
&lt;br /&gt;
Good luck and enjoy the generic PCM Dynamico for Hot Jupiter !&lt;br /&gt;
&lt;br /&gt;
'''2nd important side note''': These 5 steps are the basic needed steps to run a simulation. If you want to tune simulations to another planet, or change other stuff, you need to take a look at '''*.def''' and '''*.xml''' files. If you're lost in all of this, take a look at the different pages of this website and/or contact us !&lt;br /&gt;
Also, you might want to check the wiki on the [https://github.com/aymeric-spiga/dynamico-giant ''Github''], that explains a lot of settings for Dynamico&lt;br /&gt;
&lt;br /&gt;
== 3D LES setup ==&lt;br /&gt;
&lt;br /&gt;
=== Proxima b with LES ===&lt;br /&gt;
&lt;br /&gt;
To model the subgrid atmospheric turbulence, the WRF dynamical core coupled with the LMD Generic physics package is used. The first studied conducted was to resolve the convective activity of the substellar point of Proxami-b (Lefevre et al 2021). The impact of the stellar insolation and rotation period were studied. The files for the reference case, with a stellar flux of 880 W/m2 and an 11 days rotation period, are presented&lt;br /&gt;
&lt;br /&gt;
The input_* file are the used to initialize the temperature, pressure, winds and moisture of the domain. &lt;br /&gt;
input_souding : altitude (km), potential temperature, water vapour (kg/kg), u, v&lt;br /&gt;
input_therm : normalized gas constant, isobaric heat capacity, pressure, density, temperature&lt;br /&gt;
input_hr : SW heating, LW heating, Large-scale heating extracted from the GCM. Only the last one is used in this configuration.&lt;br /&gt;
&lt;br /&gt;
The file namelist.input is used to set up the domain parameters (resolution, grid points, etc). The file levels specifies the eta-levels of the vertical domain.&lt;br /&gt;
&lt;br /&gt;
Planet is used set up the atmospheric parameters, in order : gravity (m/s2), isobaric heat capacity (J/kg/K), molecular mass (g/mol), reference temperature (K), surface pressure (Pa), planet radius (m) and planet rotation rate (s-1).&lt;br /&gt;
&lt;br /&gt;
The files *.def are the parameter for the physics. Compared to GCM runs, the convective adjustment in callphys.def is turned off&lt;br /&gt;
&lt;br /&gt;
The file controle.txt, equivalent of the field controle in GCM start.nc, needed to initialize some physics constants.&lt;br /&gt;
&lt;br /&gt;
TBC ML&lt;br /&gt;
&lt;br /&gt;
== 1D setup ==&lt;br /&gt;
&lt;br /&gt;
=== rcm1d test case ===&lt;br /&gt;
&lt;br /&gt;
Our 1-D forward model&lt;br /&gt;
&lt;br /&gt;
TBD by Gwenael ? (you can have a look at the Generic GCM User Manual for inspiration)&lt;br /&gt;
&lt;br /&gt;
=== kcm1d test case ===&lt;br /&gt;
&lt;br /&gt;
Our 1-D inverse model&lt;br /&gt;
&lt;br /&gt;
TBD by Guillaume or Martin&lt;/div&gt;</summary>
		<author><name>Aspiga</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Dynamico-giant&amp;diff=1173</id>
		<title>Dynamico-giant</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Dynamico-giant&amp;diff=1173"/>
				<updated>2023-01-24T10:25:46Z</updated>
		
		<summary type="html">&lt;p&gt;Aspiga: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[transferred from github, now active here]&lt;br /&gt;
&lt;br /&gt;
= 1. Introduction =&lt;br /&gt;
&lt;br /&gt;
&amp;amp;quot;Welcome to the dynamico-giant wiki&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dynamico-giant est un dépôt git qui permet d'installer le modèle Dynamico avec les fichiers de configs propres aux planètes géantes gazeuses et géantes glacées. Ci-dessous, vous trouverez presque (car nous ne sommes pas parfaits) toutes les informations sur l'installation, la compilation du modèle et les paramètres que vous pouvez modifier pour faire tourner le modèle.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;quot;Allons-y!&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
= 2. Installation =&lt;br /&gt;
&lt;br /&gt;
== A) Fichiers d'architecture ==&lt;br /&gt;
&lt;br /&gt;
=== - Modules ===&lt;br /&gt;
&lt;br /&gt;
Before installation, set environment (do it once) in your .bash_profile.&lt;br /&gt;
&lt;br /&gt;
Modules used on Occigen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ulimit -s unlimited&lt;br /&gt;
# modules&lt;br /&gt;
module purge&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;
module load ncview&lt;br /&gt;
module load nco&lt;br /&gt;
module load qt&lt;br /&gt;
module load python&amp;lt;/pre&amp;gt;&lt;br /&gt;
Modules used on Ciclad:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ulimit -s unlimited&lt;br /&gt;
# modules&lt;br /&gt;
module purge&lt;br /&gt;
module load gnu/4.9.3 &lt;br /&gt;
module load intel/15.0.6.233&lt;br /&gt;
module load openmpi/1.6.5-ifort&lt;br /&gt;
module load hdf5/1.8.18-parallel-ifort&lt;br /&gt;
module load netcdf4/4.4.1.1-parallel-ifort&amp;lt;/pre&amp;gt;&lt;br /&gt;
Beware, if you change version of model (newer or older version), it's possible that you have to change modules...&lt;br /&gt;
&lt;br /&gt;
=== - Installation sur un nouveau cluster ===&lt;br /&gt;
&lt;br /&gt;
En pratique LMDZ.COMMON, ICOSA_LMDZ et IOIPSL peuvent utiliser exactement le même fichier arch.fcm ; mais celui pour ICOSAGCM est légèrement différent (les %FPP_DEF diffèrent, peut-être aussi le %FPP).&lt;br /&gt;
&lt;br /&gt;
make_icosa_lmdz doit être lancé avec -arch_path ../ARCH puisque les arch.env et arch.path communs se trouvent dans ../ARCH (l'option -arch_path ne concerne d'ailleurs que les fichiers arch.env et arch.path; le fichier arch.fcm recherché sera toujours celui dans le &amp;amp;quot;arch&amp;amp;quot; de chacun des modèles. Donc il faut bien mettre pour chacun des quatre modèles (LMDZ.COMMON, ICOSA_LMDZ,IOIPSL et ICOSAGCM) le arch.fcm dans le sous-dossier arch/ du modèle correspondant.&lt;br /&gt;
&lt;br /&gt;
L'installation d'IOIPSL doit se faire à partir du bon script bash. Si vous utilisez un server autre qu'occigen, il vous faut changer le nom du script à utiliser dans install_ioipsl.sh. Par exemple, il vous faudra utiliser install_ioipsl_ciclad-ifort.bash pour CICLAD.&lt;br /&gt;
&lt;br /&gt;
XIOS est écrit en C++, et pas en Fortran. Le fichier arch.fcm correspondant est donc nécessairement différent de celui des quatre autres modèles. Pour créér ce arch.fcm, prendre exemple sur les fichiers .fcm déjà présent dans XIOS/arch/, avec une architecture similaire à celle du nouveau cluster. En particulier, il faut utiliser des versions de gcc/gfortran &amp;amp;gt; 6+. Il faut absolument avoir une bibliothèque HDF5 compilée en parallèle, ainsi que netcdf-C et netcdf-fortran (et peut être aussi netcdf-Cxx) compilé en parallèle. Sans ça, il sera peut-être possible de compiler le modèle, mais pas de lancer une simulation en utilisant XIOS.&lt;br /&gt;
&lt;br /&gt;
== B. Download ==&lt;br /&gt;
&lt;br /&gt;
Download structure&lt;br /&gt;
&lt;br /&gt;
Take place on a repository and git clone the model.&lt;br /&gt;
&lt;br /&gt;
On occigen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;cd $SCRATCHDIR&lt;br /&gt;
git clone https://github.com/aymeric-spiga/dynamico-giant.git [optional different name]&amp;lt;/pre&amp;gt;&lt;br /&gt;
== C. Install ==&lt;br /&gt;
&lt;br /&gt;
Install code&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;cd dynamico-giant&lt;br /&gt;
./install.sh&lt;br /&gt;
./install_ioipsl.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
A login and a password are necessary to install IOIPSL (only for the first time, after that we can save them). Please contact TGCC computing center to get the login/password.&lt;br /&gt;
&lt;br /&gt;
After that, please add &amp;amp;quot;$PWD&amp;amp;quot;/FCM_V1.2/bin/ to PATH environment variable.&lt;br /&gt;
&lt;br /&gt;
Ant that's all, we can now change parameters of files or compile the code to do a test (part 6) or eat a beautiful tartiflette (can be also do during compilation).&lt;br /&gt;
&lt;br /&gt;
= 3. General parameters =&lt;br /&gt;
&lt;br /&gt;
== A) Mesh grid &amp;amp;amp; resolution ==&lt;br /&gt;
&lt;br /&gt;
On run_icosa.def:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;nbp --&amp;amp;gt; number of subdivision on a main triangle: integer (default=40)&lt;br /&gt;
        nbp = sqrt((nbr_lat x nbr_lon)/10)&lt;br /&gt;
        nbp                 20  40  80 160&lt;br /&gt;
        T-edge length (km) 500 250 120  60&lt;br /&gt;
        Example: nbp(128x96)=35 -&amp;amp;gt; 40&lt;br /&gt;
                 nbp(256x192)=70 -&amp;amp;gt; 80&lt;br /&gt;
                 nbp(360x720)=160 -&amp;amp;gt; 160&lt;br /&gt;
nsplit_i, nsplit_j --&amp;amp;gt; sub splitting of main rhombus: integer&lt;br /&gt;
                        Example: for nbp=80, nsplit_i=4,nsplit_j=6&lt;br /&gt;
                        nbp/nsplit_{i,j} = 20 &amp;amp;gt; 10 &amp;amp;amp; 13 &amp;amp;gt; 10 --&amp;amp;gt; GOOD&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== - Remapping ===&lt;br /&gt;
&lt;br /&gt;
Pour le remapping, il faut aller dans context_lmdz_physics.xml changer les paramètres ni_glo et nj_glo par exemple pour remapper sur du lat/lon à 360 pts en latitude et 720 pts en longitude (0.5°).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;amp;lt;domain id=&amp;amp;quot;dom_regular&amp;amp;quot; ni_glo=&amp;amp;quot;720&amp;amp;quot; nj_glo=&amp;amp;quot;360&amp;amp;quot; type=&amp;amp;quot;rectilinear&amp;amp;quot;&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== B) Time ==&lt;br /&gt;
&lt;br /&gt;
* ndays is number of days to simulate.&lt;br /&gt;
* day_step is number of dynamical time step per day&lt;br /&gt;
* Dynamics called every day_length(in s) / day_step per day&lt;br /&gt;
* 1 ts (physical timestep) = (day_length(in s)/day_step) x itau_physics&lt;br /&gt;
* Physics called (day_step / itau_physics) per day&lt;br /&gt;
* Physics called day_length(in s) / ts per day&lt;br /&gt;
* Radiative called every Physics x iradia physical timestep&lt;br /&gt;
* Radiative called every iradia/Physics days&lt;br /&gt;
&lt;br /&gt;
== C) Sponge layer ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;iflag_sponge=0 for no sponge (default)&lt;br /&gt;
iflag_sponge=1 for sponge over 4 topmost layers&lt;br /&gt;
iflag_sponge=2 for sponge from top to ~1% of top layer pressure&lt;br /&gt;
mode_sponge=1 for u,v --&amp;amp;gt; 0&lt;br /&gt;
mode_sponge=2 for u,v --&amp;amp;gt; zonal mean&lt;br /&gt;
mode_sponge=3 for u,v,h --&amp;amp;gt; zonal mean&lt;br /&gt;
tau_sponge --&amp;amp;gt; damping frequency at last layer&lt;br /&gt;
           --&amp;amp;gt; e-5 medium / e-4 strong yet reasonable / e-3 very strong&amp;lt;/pre&amp;gt;&lt;br /&gt;
Spiga et al (2020): Shaw and Shepherd (2007) showed that the inclusion of sponge-layer parameterizations that do not conserve angular momentum (which is the case for Rayleigh drag), or allow for momentum to escape to space, implies a sensitivity of the dynamical results (especially zonal wind speed) to the choice for model top or drag characteristic timescale, because of spurious downward influence when momentum conservation is violated.&lt;br /&gt;
&lt;br /&gt;
Il ne faut donc pas ajouter de sponge layer pour les planètes géantes (iflag_sponge = 0)&lt;br /&gt;
&lt;br /&gt;
== D) Dissipation ==&lt;br /&gt;
&lt;br /&gt;
Spiga et al (2020): A subgrid-scale dissipation term is included in our Saturn DYNAMICO GCM to prevent the accumulation of energy at scales close to the grid resolution, caused by the GCM not resolving the turbulent scales at which this energy is dissipated. This hyperviscosity term is written in our Saturn DYNAMICO model as an iterated Laplacian term on a given variable. The three variables denoted are vorticity, divergence, and potential temperature, chosen to set horizontal dissipation on respectively the rotational component of the flow (e.g. Rossby waves), the divergent component of the flow (e.g. gravity waves), and the diabatic perturbations (e.g. coming from the physical packages).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;tau_graddiv --&amp;amp;gt; dissipation timescale of smallest wvl: u,v (gradiv) : real (default=5000)&lt;br /&gt;
tau_gradrot --&amp;amp;gt; dissipation timescale of smallest wvl: u,v (nxgradrot) : real (default=5000)&lt;br /&gt;
tau_divgrad --&amp;amp;gt; dissipation timescale of smallest wvl: h (divgrad) : real (default=5000)&lt;br /&gt;
nitergdiv --&amp;amp;gt; number of iterations for gradiv operator : integer (default=1)&lt;br /&gt;
nitergrot --&amp;amp;gt; number of iterations for nxgradrot operator : integer (default=1)&lt;br /&gt;
niterdivgrad --&amp;amp;gt; number of iterations for divgrad operator : integer (default=1)&amp;lt;/pre&amp;gt;&lt;br /&gt;
tau_graddiv,tau_gradrot,tau_divgrad correspondent au temps de dissipation (plus c'est petit, plus la dissipation est efficace). nitergdiv,nitergrot,niterdivgrad correspondent à l'ordre du laplacien (plus c'est grand, plus on dissipe sélectivement les petites échelles).&lt;br /&gt;
&lt;br /&gt;
Attention, Trop dissiper -&amp;amp;gt; instabilité numérique&lt;br /&gt;
&lt;br /&gt;
Pas assez dissiper -&amp;amp;gt; instabilité dynamique trop forte&lt;br /&gt;
&lt;br /&gt;
L'ordre du laplacien dans les fichiers .def est suffisant. S'il faut changer la dissipation, il vaut mieux changer les temps de dissipation que l'ordre du laplacien (risque d'instabilité numérique).&lt;br /&gt;
&lt;br /&gt;
=== - Facteurs de dissipation ===&lt;br /&gt;
&lt;br /&gt;
A partir de ces valeurs de temps de dissipation, il est également possible d'ajouter 2 facteurs de dissipation (fac_mid et fac_up) qui permettent d'augmenter la dissipation à partir de certains niveaux. Le fac_mid permet de diminuer le temps de dissipation d'un facteur sur toute l'atmosphère jusqu'au bottom. Il y a une zone transition de quelques niveaux entre le bottom (le temp de dissipation au bottom est sans facteur) et quelques niveaux au-dessus où la valeur du temps de dissipation est avec ce facteur jusqu'au top. On ne peut donc pas choisir l'altitude et la zone de transition avec ce facteur. Quant au fac_up, il permet de diminuer le temps de dissipation d'un facteur à partir d'une altitude et d'une épaisseur de zone de transition qu'on peut choisir. On peut utiliser la combinaison des 2 ou l'un des 2. Pour ne pas prendre en compte ces facteurs de dissipation, il faut qu'il soit mis à 1.&lt;br /&gt;
&lt;br /&gt;
Il existe 2 modes possibles pour le fac_up: le mode martien (en fonction de l'altitude) et le mode vénusien (en fonction de la pression). Dans le 1er cas, il faut renseigner l'altitude où démarre la zone de transition et l'épaisseur de cette zone. Dans le 2ème cas, il faut renseigner la pression où démarre la zone de transition et l'échelle de hauteur de cette zone de transition.&lt;br /&gt;
&lt;br /&gt;
Il est vivement conseillé de tracer votre profil de dissipation à partir des équations (dans vert_prof_dissip_icosa_lmdz.f90) afin d'être certain de leur allure.&lt;br /&gt;
&lt;br /&gt;
== E) Rayleigh Friction ==&lt;br /&gt;
&lt;br /&gt;
Spiga et al 2020: This drag plays the role devoted to surface friction on terrestrial planets, which allows to close the angular momentum budget through downward control (Haynes and McIntyre, 1987; Haynes et al., 1991). This could also be regarded as a zeroth-order parameterization for Magneto-HydroDynamic (MHD) drag as a result of Lorenz forces acting on jet streams putatively extending to the depths of Saturn's interior (Liu et al., 2008; Galanti et al., 2019), much deeper than the shallow GCM's model bottom.&lt;br /&gt;
&lt;br /&gt;
Comme Liu and Schneider (2010), cette couche de frottement ne s'exerce pas aux régions équatoriales car à l’extérieur du cylindre tangeant du rayon équatorial, les cylindres convectifs ne coupent pas cette couche et ne subissent pas les frottements liés aux effets de la MHD.&lt;br /&gt;
&lt;br /&gt;
Le paramètre rayleigh_limlat correspond à la latitude maximale de part et d'autre de l'équateur où cette friction n'est pas observée.&lt;br /&gt;
&lt;br /&gt;
Pour le temps (rayleigh_friction_tau), il est similaire à celui utilisé par Liu and Schneider (2010). Elle est fixée à 100 jours terrestres. Mais attention, on fonction de la valeur, la dynamique peut évoluer dans votre simulation.&lt;br /&gt;
&lt;br /&gt;
== F) Conservation ==&lt;br /&gt;
&lt;br /&gt;
Dans run_icosa.def:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;check_conservation = detailed &lt;br /&gt;
itau_check_conserv = 320&amp;lt;/pre&amp;gt;&lt;br /&gt;
Le itau_check_conserv est comme itau_physics pour que la contribution de la physique à AAM ne soit pas nulle. de plus il est coûteux d'appeler les diagnostics trop souvent.&lt;br /&gt;
&lt;br /&gt;
S. Lebonnois, C. Covey, A. Grossman, H. Parish, G. Schubert, R. Walterscheid, P. Lauritzen, and C. Jablonowski. Angular momentum budget in General Circulation Models of superrotating atmospheres: A critical diagnostic. Journal of Geophysical Research (Planets), 117:E12004, 2012.&lt;br /&gt;
&lt;br /&gt;
P. H. Lauritzen, J. T. Bacmeister, T. Dubos, S. Lebonnois, and M. A. Taylor. Held-Suarez simulations with the Community Atmosphere Model Spectral Element (CAM-SE) dynamical core: A global axial angular momentum analysis using Eulerian and floating Lagrangian vertical coordinates. Journal of Advances in Modeling Earth Systems, 6:129-140, 2014.&lt;br /&gt;
&lt;br /&gt;
== G) Traceur ==&lt;br /&gt;
&lt;br /&gt;
=== - Branche master version du 04/04/2022 dans le dossier Jupiter (traceur) ===&lt;br /&gt;
&lt;br /&gt;
La version actuelle des fichiers de réglage dans le dossier Jupiter est réglée pour utiliser des traceurs. Si vous souhaiter utiliser le modèle sans traceur, il vous faut modifier les fichiers suivants :&lt;br /&gt;
&lt;br /&gt;
run_icosa.def&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;        nqtot = 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
traceur.def&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;        0&amp;lt;/pre&amp;gt;&lt;br /&gt;
context_dynamico.xml (ligne 125)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;         &amp;amp;lt;field id=&amp;amp;quot;q_start&amp;amp;quot; name=&amp;amp;quot;q&amp;amp;quot;  grid_ref=&amp;amp;quot;grid_q_start&amp;amp;quot; prec=&amp;amp;quot;8&amp;amp;quot;/&amp;amp;gt;   &amp;lt;/pre&amp;gt;&lt;br /&gt;
== H) Bottom du modèle ==&lt;br /&gt;
&lt;br /&gt;
* refaire tourner le 1D&lt;br /&gt;
** changer la pression &amp;lt;code&amp;gt;psurf&amp;lt;/code&amp;gt; dans rcm1d.def&lt;br /&gt;
** changer &amp;lt;code&amp;gt;ichoice=1&amp;lt;/code&amp;gt; et changer &amp;lt;code&amp;gt;tref&amp;lt;/code&amp;gt; (ex: 10b: 330K)&lt;br /&gt;
* refaire tourner le 3D (avec makestart) en changeant &amp;lt;code&amp;gt;preff&amp;lt;/code&amp;gt; dans &amp;lt;code&amp;gt;[nom_de_la_planète]_const.def&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 4. Physical parameterizations =&lt;br /&gt;
&lt;br /&gt;
== A) Cycle diurne ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;diurnal = .false.&amp;lt;/code&amp;gt; Car le temps radiatif est beaucoup plus long sur les planètes géantes.&lt;br /&gt;
&lt;br /&gt;
== B) Anneaux ==&lt;br /&gt;
&lt;br /&gt;
[Pour saturne uniquement] Il est possible d'ajouter l'ombre des anneaux dans le callphys.def:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;rings_shadow = .true.&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== C) Collision-induced absorption data ==&lt;br /&gt;
&lt;br /&gt;
L'absorption induite par collision est importante dans le transfet radiatif sur les planètes géantes, notamment celle provenant de H2. Cependant, le rapport ortho-para du H2 est différent selon les planètes et peut modifier fortement le chauffage sur ces planètes. Pour le cas des géantes gazeuses, le rapport ortho-para est normal (rapport 3:1). Mais pour le cas des géantes glacées, le rapport ortho-para est à l'équilibre. Par défaut, le rapport ortho-para est normal (H2orthopara_mixture = normal). Pour les géantes glacées, il faut mettre H2orthopara_mixture = equilibrium .&lt;br /&gt;
&lt;br /&gt;
Si vous voulez modifier le fichier utilisé dans un cas de CIA, il faut aller dans le code (dynamico-giant/code/LMDZ.GENERIC/libf/phystd/interpolate????.F90) et changer le nom du fichier (assurez-vous que ce fichier soit dans votre répertoire DATAGENERIC/continuum_data).&lt;br /&gt;
&lt;br /&gt;
Dans la version actuelle, il n'existe pas d'option qui permet de ne pas utiliser certaines contributions de CIA. Par exemple, si votre atmosphère est composé de H2, He et CH4 et que vous ne voulez pas des contributions venant du CH4, il vous faut commenter dans le modèle ces contributions.&lt;br /&gt;
&lt;br /&gt;
== D) K-correlated data ==&lt;br /&gt;
&lt;br /&gt;
Les fichiers k-corrélées doivent se situer dans votre répertoire DATAGENERIC/corrk_data .&lt;br /&gt;
&lt;br /&gt;
== E) Cpp mode ==&lt;br /&gt;
&lt;br /&gt;
cpp_mugaz_mode=0 pour que la valeur de cpp et de mugaz proviennent de la dynamique. cpp_mugaz_mode=1 pour forcer la valeur de cpp et de mugaz dans le callphys.def (à utiliser dans le makestart uniquement) cpp_mugaz_mode=2 pour calculer automatiquement à partir de données de références à 300 K et du gases.def (à éviter)&lt;br /&gt;
&lt;br /&gt;
== F) Generic n-layer aerosols (replaces the former 2-layer and NH3 cloud) ==&lt;br /&gt;
&lt;br /&gt;
Ce mode permet de créer des couches d'aérosols/nuages ayant une opacité (aeronlay_tauref) à une longueur d'onde donnée (aeronlay_lamref), un rayon de particule fixe (aeronlay_size) situés à une pression fixe et en fonction des propriétés optiques des particules (optprop_aeronlay_vis et optprop_aeronlay_ir). Pour le cas de l'altitude, on peut choisir soit (aeronlay_choice = 1) une pression max (aeronlay_ptop) et une pression min (aeronlay_pbot), soit (aeronlay_choice = 2) une pression min (aeronlay_pbot) et une échelle de hauteur (aeronlay_sclhght). On peut également choisir la variance effective pour les rayons de particules.&lt;br /&gt;
&lt;br /&gt;
Le nombre de couche de nuage (nlayero) est égal au nombre de scatterers dans la compilation (option -s ).&lt;br /&gt;
&lt;br /&gt;
Les fichiers de propriétés optiques doivent être dans votre DATAGENERIC.&lt;br /&gt;
&lt;br /&gt;
Un exemple pour 3 couches:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;aeronlay = .true.&lt;br /&gt;
nlayaero = 3&lt;br /&gt;
aeronlay_tauref       = 2.5 0.04 0.1&lt;br /&gt;
aeronlay_lamref       = 0.8e-6 0.8e-6 0.16e-6&lt;br /&gt;
aeronlay_choice       = 2 2 1&lt;br /&gt;
aeronlay_pbot         = 1.5e5 1.6e5 20.&lt;br /&gt;
aeronlay_ptop         = 1.1e5 1. 1.&lt;br /&gt;
aeronlay_sclhght      = 0.1 2.0 1&lt;br /&gt;
aeronlay_size         = 0.5e-6 0.05e-6 0.5e-6&lt;br /&gt;
aeronlay_nueff        = 0.3 0.3 0.3&lt;br /&gt;
optprop_aeronlay_vis  = optprop_aerosol2_vis.dat optprop_aerosol3_vis.dat optprop_carbon4_vis.dat&lt;br /&gt;
optprop_aeronlay_ir   = optprop_aerosol2_ir.dat optprop_aerosol3_ir.dat optprop_carbon4_ir.dat&amp;lt;/pre&amp;gt;&lt;br /&gt;
== G) Panaches thermiques ==&lt;br /&gt;
&lt;br /&gt;
# Comme pour toutes nouvelles simulations, il faut commencer par un run 1D de plusieurs décennies permettant d'obtenir un profil de température (&amp;lt;code&amp;gt;temp_profile.txt&amp;lt;/code&amp;gt;) et les coefficients ap et bp (&amp;lt;code&amp;gt;apbp.txt&amp;lt;/code&amp;gt;) en équilibre radiatif-convectif pour la planète que l'on étudie. Ce run 1D s'effectue dans les dossiers jupiter1d, saturn1d, neptune1d et/ou uranus1d, avec ces options pour le callphys.def :&lt;br /&gt;
&lt;br /&gt;
callrad = true calladj = true tous les autres mots clés à false (y compris &amp;lt;code&amp;gt;calltherm&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;2&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Faire un &amp;amp;quot;makestart&amp;amp;quot; run : permet d'obtenir les fichiers restart à partir du profil de température initial. Il s'agit du run dont l'état initial est le profil de température créé par run 1D (&amp;lt;code&amp;gt;temp_profile.txt&amp;lt;/code&amp;gt; est appliquer à chaque point de grille horizontale du modèle). L'état initial est ainsi une planète isotherme horizontalement mais qui varie verticalement. Pour ce run, aucun traceur ne va être utilisé dans le modèle. Néanmoins, il faut renseigner au modèle le nombre de traceurs que nous souhaitons utiliser avec le schéma des panaches thermiques afin qu'il puisse créer la dimension nq et le champ q dans les fichiers &amp;lt;code&amp;gt;restart_icosa.nc&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;restartfi.nc&amp;lt;/code&amp;gt;. dans '''callphys.def''' :&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;          traceur = true&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;dans '''run_icosa.def''' : &amp;lt;code&amp;gt;nqtot = 2&amp;lt;/code&amp;gt; (par exemple, h2o_vap et h2o_ice) dans '''traceur.def''' :&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;           2&lt;br /&gt;
           h2o_vap&lt;br /&gt;
           h2o_ice&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Ajout des quantités pour chaque traceur. Ici, nous ajoutons les profils pour chacun des traceurs dans les fichiers &amp;lt;code&amp;gt;restart_icosa.nc&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;restartfi.nc&amp;lt;/code&amp;gt; &amp;amp;quot;à la main&amp;amp;quot; en utilisant le programme python &amp;lt;code&amp;gt;/processing_codes/tracer_settings.py&amp;lt;/code&amp;gt; pour obtenir des fichiers restart avec la bonne abondance d'eau dans le cas présent.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Commencer la simulation : Il ne reste plus qu'à lancer la simulation 3D avec les nouveaux fichiers restart et les réglages suivant : dans '''callphys.def''' :&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;            traceur = true&lt;br /&gt;
            calltherm = true&lt;br /&gt;
            # thermal plume model options:&lt;br /&gt;
            divmpl = true&lt;br /&gt;
            r_aspect_thermals = 2.0&lt;br /&gt;
            tau_thermals      = 0.0&lt;br /&gt;
            betalpha          = 0.9&lt;br /&gt;
            afact             = 0.7&lt;br /&gt;
            fact_epsilon      = 2.e-4&lt;br /&gt;
            alpha_max         = 0.7&lt;br /&gt;
            fomass_max        = 0.5&lt;br /&gt;
            pres_limit        = 2.e5&lt;br /&gt;
            water             = true&lt;br /&gt;
            watercond         = true&lt;br /&gt;
            waterain          = true&lt;br /&gt;
            evap_prec         = true&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dans '''run_icosa.def''' : &amp;lt;code&amp;gt;nqtot = 2&amp;lt;/code&amp;gt; dans '''traceur.def''' :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;               2&lt;br /&gt;
               h2o_vap&lt;br /&gt;
               h2o_ice&amp;lt;/pre&amp;gt;&lt;br /&gt;
Enfin, ajouter la déclaration et l'écriture des variables relatives à l'utilisation du schéma des thermiques (&amp;lt;code&amp;gt;h2o_vap&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;h2o_ice&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;w_plm&amp;lt;/code&amp;gt;) dans les fichiers XML de la physique.&lt;br /&gt;
&lt;br /&gt;
== H) Rotation ==&lt;br /&gt;
&lt;br /&gt;
Dans [name_of_planet]_const.def, changer le taux de rotation.&lt;br /&gt;
&lt;br /&gt;
Cela n'a jamais été testé avec 0, mais cela pourrait créer des problèmes (ex: beta). ''vérifier que omega dans saturn_const.def n'intervient pas dans la physique LMDZ.GENERIC/libf/phystd/''&lt;br /&gt;
&lt;br /&gt;
== I) Appel à la physique ==&lt;br /&gt;
&lt;br /&gt;
Il faut changer à ''deux endroits'' en réglant la même valeur: - dans run_icosa.def, changer itau_physics ; - dans run.def, changer iphysiq. Ces paramètres sont exprimés en pas de temps dynamique. Pour appeler la physique à chaque pas de temps dynamique, régler ces paramètres à 1.&lt;br /&gt;
&lt;br /&gt;
= 5. Ecriture des fichiers =&lt;br /&gt;
&lt;br /&gt;
== A) Nombre d'écriture dans chaque Xhistins.nc ==&lt;br /&gt;
&lt;br /&gt;
Prenons l'exemple de l'écriture d'un fichier sur une simu Uranus pour 1000j&lt;br /&gt;
&lt;br /&gt;
Nombre d'écriture = day_step X ndays/(itau_physics X output_freq)&lt;br /&gt;
&lt;br /&gt;
* ndays = 1000&lt;br /&gt;
* day_step = 200&lt;br /&gt;
* itau_physics = 50&lt;br /&gt;
* output_freq = 200&lt;br /&gt;
&lt;br /&gt;
On a 20 sorties tous les 1000 jours.&lt;br /&gt;
&lt;br /&gt;
Globalement, il est conseillé d'avoir 800 à 1000 sorties minimum par année planétaire (voir beaucoup plus en fonction de votre étude).&lt;br /&gt;
&lt;br /&gt;
== B) Ajouter une variable ==&lt;br /&gt;
&lt;br /&gt;
Pour ajouter une variable dans le fichier de sortie Xhistins.nc, il faut l'ajouter dans le field_group correspondant et s'assurer que cette variable est présente en tant que variable de sortie dans dynamico-giant/code/LMDZ.GENERIC/libf/phystd/physiq_mod.F90. Si ce n'est pas le cas, il faut faire un call writediagfi de la variable puis l'ajouter dans un call send_xios_field.&lt;br /&gt;
&lt;br /&gt;
== C) Forcer XIOS à écrire tous les .... ==&lt;br /&gt;
&lt;br /&gt;
Il faut utiliser l'attribut (ici par ex pour forcer l'écriture tous les ts (==time step) ; d'autres délais doivent être possible): &amp;lt;code&amp;gt;sync_freq=&amp;amp;quot;1ts&amp;amp;quot;&amp;lt;/code&amp;gt; dans le &amp;lt;code&amp;gt;&amp;amp;lt;file id=... .... &amp;amp;gt;&amp;lt;/code&amp;gt; concerné.&lt;br /&gt;
&lt;br /&gt;
== D) XIOS server ou client ==&lt;br /&gt;
&lt;br /&gt;
# XIOS client &amp;lt;code&amp;gt;use_server=False&amp;lt;/code&amp;gt; Broadwell 24 processeurs sur 28&lt;br /&gt;
# XIOS server &amp;lt;code&amp;gt;use_server=true&amp;lt;/code&amp;gt; Broadwell 24 processurs sur 28 + 4 processeurs pour XIOS&lt;br /&gt;
&lt;br /&gt;
Le cas 1 est 3 min plus lent que le cas 2 -- sur 2h20...(!) parce qu'on fait peu de sorties.&lt;br /&gt;
&lt;br /&gt;
= 6. Running the model =&lt;br /&gt;
&lt;br /&gt;
== A) Compilation ==&lt;br /&gt;
&lt;br /&gt;
Pour compiler le modèle, il suffit d'aller dans le dossier avec vos fichiers .def et .xml et d'utiliser le script compile_occigen.sh si on est sur occigen ou compile_ciclad.sh si on est sur ciclad&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;./compile_occigen.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les options qui peuvent être modifiées/ajoutées sont - -s : le nombre de scatterers - -parallel: mpi ou mpi_omp - -arch: le nom du ficher d'architecture - -arch_path: le chemin vers ce fichier - -job: 8 (conseillé) - -full: compile le code entièrement - -debug: pour trouver un éventuel bug. A ENLEVER obligatoirement s'il n'y a plus de bug car multiplie par 5 votre temp de calcul.&lt;br /&gt;
&lt;br /&gt;
En 1D, d'autres options sont nécessaires: - -t: nombre de traceurs - -d: nombre de niveaux verticaux - -parallel: none (en 1D uniquement)&lt;br /&gt;
&lt;br /&gt;
=== - Versions fonctionnelles de dynamico-giant ===&lt;br /&gt;
&lt;br /&gt;
'''Jupiter''' - XIOS revision 1583&amp;lt;br /&amp;gt;&lt;br /&gt;
- ICOSAGCM revision 756&amp;lt;br /&amp;gt;&lt;br /&gt;
- IOIPSL revision 339&amp;lt;br /&amp;gt;&lt;br /&gt;
- FCM_V1.2 revision 12&amp;lt;br /&amp;gt;&lt;br /&gt;
- Physics revision 2228 (LMDZ.COMMON, LMDZ.GENERIC, ICOSA_LMDZ, ARCH)&lt;br /&gt;
&lt;br /&gt;
but check Physics version 2142 and 2180&lt;br /&gt;
&lt;br /&gt;
'''Saturne (référence Spiga 2020, à vérifier)''' - DYNAMICO --&amp;amp;gt; Revision: 756 - PHYSICS --&amp;amp;gt; Revision: 2005 - XIOS --&amp;amp;gt; Revision: 1583 - IOIPSL --&amp;amp;gt; Revision: 310?&lt;br /&gt;
&lt;br /&gt;
'''Saturne (simulation de référence sur 61 niveaux, Bardet et al. Icarus 2021)''' - XIOS revision 1583&amp;lt;br /&amp;gt;&lt;br /&gt;
- ICOSAGCM revision 765&amp;lt;br /&amp;gt;&lt;br /&gt;
- IOIPSL revision 310&amp;lt;br /&amp;gt;&lt;br /&gt;
- FCM_V1.2 revision 12&amp;lt;br /&amp;gt;&lt;br /&gt;
- Physics revision 2005 (LMDZ.COMMON, LMDZ.GENERIC, ICOSA_LMDZ, ARCH)&lt;br /&gt;
&lt;br /&gt;
'''Saturne (simulation avec la GWD paramétrisation sur 61 niveaux, chapitre 6 PhD Bardet)''' - XIOS revision 1583&amp;lt;br /&amp;gt;&lt;br /&gt;
- ICOSAGCM revision 765&amp;lt;br /&amp;gt;&lt;br /&gt;
- IOIPSL revision 310&amp;lt;br /&amp;gt;&lt;br /&gt;
- FCM_V1.2 revision 12&amp;lt;br /&amp;gt;&lt;br /&gt;
- Physics revision 2213 (LMDZ.COMMON, LMDZ.GENERIC, ICOSA_LMDZ, ARCH)&lt;br /&gt;
&lt;br /&gt;
'''Saturne (simulation sur 96 niveaux, Bardet et al. Nature Astronomy 2022)''' - XIOS revision 1583&amp;lt;br /&amp;gt;&lt;br /&gt;
- ICOSAGCM revision 765&amp;lt;br /&amp;gt;&lt;br /&gt;
- IOIPSL revision 431&amp;lt;br /&amp;gt;&lt;br /&gt;
- FCM_V1.2 revision 12&amp;lt;br /&amp;gt;&lt;br /&gt;
- Physics revision 2305 (LMDZ.COMMON, LMDZ.GENERIC, ICOSA_LMDZ, ARCH)&lt;br /&gt;
&lt;br /&gt;
'''Saturne (simulation avec la GWD paramétrisation sur 96 niveaux, chapitre 6 PhD Bardet)''' - XIOS revision 1583&amp;lt;br /&amp;gt;&lt;br /&gt;
- ICOSAGCM revision 765&amp;lt;br /&amp;gt;&lt;br /&gt;
- IOIPSL revision 431&amp;lt;br /&amp;gt;&lt;br /&gt;
- FCM_V1.2 revision 12&amp;lt;br /&amp;gt;&lt;br /&gt;
- Physics revision 2403 (LMDZ.COMMON, LMDZ.GENERIC, ICOSA_LMDZ, ARCH)&lt;br /&gt;
&lt;br /&gt;
'''Uranus &amp;amp;amp; Neptune (old version)''' - XIOS revision 1944 - ICOSAGCM revision 765 - IOIPSL revision 431 - FCM_V1.2 revision 12&amp;lt;br /&amp;gt;&lt;br /&gt;
- Physics revision 2413 (LMDZ.COMMON, LMDZ.GENERIC, ICOSA_LMDZ, ARCH)&lt;br /&gt;
&lt;br /&gt;
'''Uranus &amp;amp;amp; Neptune (new version)''' - XIOS revision 2203 - ICOSAGCM revision (20/08/2021) - IOIPSL revision 450 - FCM_V1.2 revision 12&amp;lt;br /&amp;gt;&lt;br /&gt;
- Physics revision 2555 (LMDZ.COMMON, LMDZ.GENERIC, ICOSA_LMDZ, ARCH)&lt;br /&gt;
&lt;br /&gt;
'''Jupiter, Saturne, Uranus &amp;amp;amp; Neptune [OCCIGEN VERSION]''' - XIOS revision 2319 - ICOSAGCM revision (90f7138a60ebd3644fbbc42bc9dfa22923386385) - IOIPSL revision 453 - FCM_V1.2 revision 12&amp;lt;br /&amp;gt;&lt;br /&gt;
- Physics revision 2655 (LMDZ.COMMON, LMDZ.GENERIC, ICOSA_LMDZ, ARCH)&lt;br /&gt;
&lt;br /&gt;
'''Jupiter, Saturne, Uranus &amp;amp;amp; Neptune [IRENE VERSION]''' - XIOS revision 2399 - ICOSAGCM revision (4fbd393a9051fd9c1a5b662683f6ad8d0dc2867c) - IOIPSL revision 6234 - FCM_V1.2 revision 12&amp;lt;br /&amp;gt;&lt;br /&gt;
- Physics revision 2842 (LMDZ.COMMON, LMDZ.GENERIC, ICOSA_LMDZ, ARCH)&lt;br /&gt;
&lt;br /&gt;
== B) Run 1D ==&lt;br /&gt;
&lt;br /&gt;
Pour une simulation 1D, 1 seul CPU suffit.&lt;br /&gt;
&lt;br /&gt;
To run on Occigen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sbatch job_mpi&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To run on Irene:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ccc_msub job_mpi&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To see evolution of your job on Occigen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;squeue -u username&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To see evolution of your job on Irene:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ccc_mpp -u username&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To kill your job on Occigen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;scancel id_of_your_job&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To kill your job on Irene:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ccc_mdel id_of_your_job&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Une fois que votre simulation est fini, lancer le script python printapbp.py qui vous permettra d'obtenir les fichiers apbp.txt et temp_profile.txt nécessaires pour les simulations en 3D.&lt;br /&gt;
&lt;br /&gt;
== C) Run 3D ==&lt;br /&gt;
&lt;br /&gt;
Pour lancer une première simulation, il faut tout d'abord le faire une seule fois dans le dossier makestart de l'un des dossiers jupiter, saturne, uranus ou neptune. Ce dernier permettra de créer les premiers fichiers restart_icosa.nc et restartfi.nc. Ensuite, il suffit revenir dans le dossier parent (jupiter, saturne, uranus, neptune) et de lancer ses simulations.&lt;br /&gt;
&lt;br /&gt;
=== - MPI ===&lt;br /&gt;
&lt;br /&gt;
Avant de lancer une simulation, il est nécessaire de déterminer - le nombre de procs - le nombre de noeuds&lt;br /&gt;
&lt;br /&gt;
Il faut avant tout savoir qu'il y a 10 x nsplit_i x nsplit_j domaines. Ces domaines sont divisés en plusieurs cellules. Il y a (nbp)²/(nsplit_i x nsplit_j) cellules par domaine. Ce nombre est égal au nombre de MPI process.&lt;br /&gt;
&lt;br /&gt;
Il est important de ne pas faire des tuiles &amp;amp;quot;trop petites&amp;amp;quot; et donc de garder nsplit_i et nsplit_j tels que nbp/nsplit_{i,j} &amp;amp;gt;=10-15 (plutôt 15). Car il y a des calculs &amp;amp;quot;redondants&amp;amp;quot; faits sur les bords du domaine. Admettons que ton domaine soit 10 x 10 (100 cellules par domaine). Le nombre de cellules au bord du domaine est égal à 2 x nsplit_i + 2 x nsplit_j - 4. Dans ce cas, le nombre de cellules au bord est de 36. Cela signifie que le bord du domaine correspond à 36% du domaine (36 points sur 100). Si le domaine est 15 x 15, alors le bord du domaine n'est plus que de 24.8 %. On aimerait avoir des domaines les plus grands possibles mais il faut aussi voir que chaque cellule correspond à une colonne à résoudre... Et c'est là ou il faut expérimenter un peu pour trouver l'optimum entre le nombre total de proc à employer et le gain effectif (temps total &amp;amp;quot;facturé&amp;amp;quot; au vu du nombre de procs monopolisés pour une simu donnée). Ehouarn&lt;br /&gt;
&lt;br /&gt;
Il faut au total que le nombre de procs soit égal à 10 x nsplit_i x nsplit_j qu'il faut répartir entre les noeuds.&lt;br /&gt;
&lt;br /&gt;
Pour les noeuds, il faut tenir compte qu'un noeud sur Occigen, c'est 24 (ou 28) procs. Disons 24. Quand on demande N procs, le système te donne M noeuds, soit M X 24 procs (les noeuds ne sont pas partagés avec d'autres applications). Et bien sûr on te facturera ces M noeuds, même si tu n'utilises pas tous les procs. Donc il faut s'efforcer de tomber juste et demander un multiple de 24 procs. Même raisonement si tu demandes à utiliser des noeuds de 28 procs.&lt;br /&gt;
&lt;br /&gt;
Par exemple, nsplit_i = 4 et nsplit_j = 6. 4 x 6 est égal à 24. On utilisera donc 10 noeuds pour avoir 240 nprocs.&lt;br /&gt;
&lt;br /&gt;
Prenons un autre exemple. nsplit_i = 5 et nsplit_j = 6. 5x6 = 30 Or il y a 24 procs par noeuds. Il faudra utiliser 13 noeuds. Et ce ne sont pas 300 procs qui seront facturés au total mais 312.&lt;br /&gt;
&lt;br /&gt;
Mais comme vu plus haut, en fonction de la configuration de tes domaines, il est possible que le 2nd exemple coûte moins cher en heure CPU que le 1er exemple car il sera plus rapide.&lt;br /&gt;
&lt;br /&gt;
=== - OpenMP / MPI ===&lt;br /&gt;
&lt;br /&gt;
Dans le cas mixte OpenMP/MPI, il est nécessaire de renseigner le nombre de tâche OpenMP et de MPI threads. Dans le script pour le job, on a :&lt;br /&gt;
&lt;br /&gt;
cpus-per-task et OMP_NUM_THREADS correspondent au nombre de tâche OpenMP ntask-per-node correspond au nombre de tâche par noeud&lt;br /&gt;
&lt;br /&gt;
Pour déterminer la configuration à utiliser en OpenMP/MPI, il faut respecter ces règles: - ntask-per-node x nodes correspond au nombre total de MPI threads qu'il devrait y avoir (c'est-à-dire dans le cas MPI seul). - cpus-per-task x ntask-per-node doit être égale ou inférieur au nombre de procs par noeuds (24 ou 28- sur Occigen) - cpus-per-task devrait être ~égal au nombre de niveaux verticaux / 10 - OMP_NUM_THREADS doit être égal au cpus-per-task - omp_level_size (dans le fichier run_icosa.def) devrait être ~égal au nombre de cpus-per-task. (dans le cas MPI seul, il faut le laisser égal à 1)&lt;br /&gt;
&lt;br /&gt;
Au total, le nombre total de nprocs est égal à cpus-per-task x ntask-per-node x nodes&lt;br /&gt;
&lt;br /&gt;
En reprenant le premier exemple MPI (on suppose qu'on a 40 niveaux verticaux), on aura - cpus-per-task = 4 - ntask-per-norde = 6 On a bien cpus-per-task x ntask-per-norde &amp;amp;lt;= 24. Le nombre de noeuds doit être égal à 40 car 6x40 = 240 nprocs MPI Le nombre de procs qu'on utilisera au total sera de 960.&lt;br /&gt;
&lt;br /&gt;
=== - Comment déterminer le nombre d'heure CPU (consommation en heure)? ===&lt;br /&gt;
&lt;br /&gt;
Heures CPU = durée_de_la_simu X nombre de procs total facturé&lt;br /&gt;
&lt;br /&gt;
Si on veut connaître le nombre d'heure CPU qu'on consommera à partir d'un test, voici le calcul&lt;br /&gt;
&lt;br /&gt;
Heures CPU = durée_de_la_simu_test X nombre de procs total facturé X nombre de jour qu'on veut simulé / (nombre de jour simulées pendant la simu test)&lt;br /&gt;
&lt;br /&gt;
== D) Optimisation ==&lt;br /&gt;
&lt;br /&gt;
Pour savoir quelle est la meilleure configuration en MPI seul, en OpenMP/MPI et entre les 2, des tests ont été effectués. Ces tests ont été réalisés sur Uranus à nbp80 sur les noeuds Broadwell (28 procs par noeud). 1000 jours uraniens ont été simulés à chaque fois.&lt;br /&gt;
&lt;br /&gt;
'''MPI:''' [[File:fig1.png]]&lt;br /&gt;
&lt;br /&gt;
'''OpenMP/MPI:''' [[File:fig2.png]]&lt;br /&gt;
&lt;br /&gt;
La comparaison du MPI seul et du mixte OpenMP/MPI permet de tirer la conclusion que le mixte OpenMP/MPI est beaucoup plus rapide (facteur 2.5 à 3) mais consomme plus (facteur 1.1 à 1.7).&lt;br /&gt;
&lt;br /&gt;
[[File:fig3.png]]&lt;br /&gt;
&lt;br /&gt;
== E) Visualizing the output files ==&lt;br /&gt;
&lt;br /&gt;
=== - Comment comparer deux fichiers? file1.nc file2.nc ===&lt;br /&gt;
&lt;br /&gt;
ncdiff file1.nc file2.nc output.nc&lt;br /&gt;
&lt;br /&gt;
=== - Comment coller plusieurs fichiers file1.nc file2.nc file3.nc ===&lt;br /&gt;
&lt;br /&gt;
ncrcat file1.nc file2.nc file3.nc output.nc&lt;br /&gt;
&lt;br /&gt;
Avec juste la vitesse u et v: ncrcat -v u -v v file1.nc file2.nc file3.nc output.nc&lt;br /&gt;
&lt;br /&gt;
Avec tous les fichiers fileXXX.nc disponibles ncrcat file*.nc output.nc&lt;br /&gt;
&lt;br /&gt;
=== - Comment tracer les champs et divers diagnostics en moyenne zonale? ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;mettre à jour planetoplot et planets&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;utiliser precast.py dans planetoplot/examples/ppclass_additional/dynanalysis&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;changer les options au début (il y a des exemples), exemple pour Saturne&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;fileAP=&amp;quot;Xhistins_42.nc&amp;quot;&lt;br /&gt;
p_upper,p_lower,nlev = 4.0e2,2.5e5,40&lt;br /&gt;
targetp1d = np.logspace(np.log10(p_lower),np.log10(p_upper),nlev)&lt;br /&gt;
myp = planets.Saturn&lt;br /&gt;
day_per_year = 24430.&lt;br /&gt;
short = False&lt;br /&gt;
includels = False&lt;br /&gt;
charx = &amp;quot;0,360&amp;quot;&lt;br /&gt;
ispressure = False&lt;br /&gt;
vartemp = &amp;quot;temperature&amp;quot;&lt;br /&gt;
outfile = &amp;quot;precast.nc&amp;quot;&lt;br /&gt;
nopole = True&amp;lt;/source&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Il faut que apbp.txt soit présent !&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Le résultat se trouve dans le fichier indiqué dans outfile.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== F) Debug ==&lt;br /&gt;
&lt;br /&gt;
=== - Pour debugger ===&lt;br /&gt;
&lt;br /&gt;
Réglez &amp;lt;code&amp;gt;info_level&amp;lt;/code&amp;gt; à &amp;lt;code&amp;gt;100&amp;lt;/code&amp;gt; dans le fichier &amp;lt;code&amp;gt;iodef.xml&amp;lt;/code&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
=== - Erreur en début de run, SEGMENTATION FAULT dans la routine &amp;lt;code&amp;gt;advect.f90&amp;lt;/code&amp;gt; (ICOSAGCM/ppsrc/transport) au niveau de l'appel à &amp;lt;code&amp;gt;cross_product2&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
La routine &amp;lt;code&amp;gt;cross_product2&amp;lt;/code&amp;gt; effectue des produits vectoriels. Cette erreur vient du fait qu'en essayant de faire des optimisations de calcul, le compilateur se prend &amp;amp;quot;les pieds dans le tapis&amp;amp;quot; et ne sait plus faire le produit vectoriel. Pour empêcher le compilateur de faire des optimisations trop poussées, il faut ajouter l'option &amp;lt;code&amp;gt;-fp-model strict&amp;lt;/code&amp;gt; au niveau du mot-clé &amp;lt;code&amp;gt;%BASE_FFLAGS&amp;lt;/code&amp;gt; dans tous les fichiers &amp;lt;code&amp;gt;.fcm&amp;lt;/code&amp;gt; du modèle (LMDZ.COMMON / ICOSAGCM / ICOSA_LMDZ).&lt;br /&gt;
&lt;br /&gt;
== G) Pas de radiatif et perturbations ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;faire descendre le modèle&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;modifier le code pour perturbations vitesse et pas température&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;compiler (voir README.md)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;changer dans callphys.def (dans saturn/makestart)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;surfalbedo = 1.0&lt;br /&gt;
surfemis = 0.0&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;changer dans callphys.def (dans saturn '''et''' saturn/makestart)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;corrk      = .false.&lt;br /&gt;
enertest  = .true.&lt;br /&gt;
randompert = 1&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;voir si on garde le flux interne ou non (&amp;lt;code&amp;gt;intheat&amp;lt;/code&amp;gt;)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;refaire les états initiaux (dans makestart)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;faire un run court pour voir sur les spectres l'injection d'Ek&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== H) PROFILING with DYNAMICO-Giant ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;-pg&amp;lt;/code&amp;gt;: Generate extra code to write profile information suitable for analysis program &amp;lt;code&amp;gt;gprof&amp;lt;/code&amp;gt;. You must use this option when compiling the sources files you want data about and you must '''also use it when linking'''. 1. For DYNAMICO-Giant: in the arch.fcm file of each part of the model (ICOSAGCM, ICOSA_LMDZ, LMDZ.COMMON and XIOS), you have to add the option &amp;lt;code&amp;gt;-pg&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;%PROD_FFLAGS&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;%BASE_LD&amp;lt;/code&amp;gt; 2. Compile as usual 3. Execute your code as usual 4. Run &amp;lt;code&amp;gt;gprof&amp;lt;/code&amp;gt; tool:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    gprof icosa_lmdz.exe goon.out &amp;amp;gt; analysis.txt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= OLD WIKI (DEPRECATED, JUST FOR REFERENCE/INFORMATION) =&lt;br /&gt;
&lt;br /&gt;
``Welcome to the dynamico-giant wiki!&lt;br /&gt;
&lt;br /&gt;
== pour debugger ==&lt;br /&gt;
&lt;br /&gt;
régler &amp;lt;code&amp;gt;info_level&amp;lt;/code&amp;gt; à &amp;lt;code&amp;gt;100&amp;lt;/code&amp;gt; dans le fichier &amp;lt;code&amp;gt;iodef.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== pourquoi diurnal=.false. ==&lt;br /&gt;
&lt;br /&gt;
le temps radiatif est beaucoup plus long sur les géantes&lt;br /&gt;
&lt;br /&gt;
== comment changer la fréquence d'appel à la physique? ==&lt;br /&gt;
&lt;br /&gt;
il faut changer à ''deux endroits'' en réglant la même valeur - dans run_icosa.def, changer itau_physics - dans run.def, changer iphysiq ces paramètres sont exprimés en pas de temps dynamique. pour appeler la physique à chaque pas de temps dynamique, régler ces paramètres à 1&lt;br /&gt;
&lt;br /&gt;
== comment changer la résolution ==&lt;br /&gt;
&lt;br /&gt;
[https://github.com/aymeric-spiga/dynamico-giant/commit/f39e3b651c19cefb26da72ab77933520ff8f27f5 voir lien ici]&lt;br /&gt;
&lt;br /&gt;
== comment choisir le nombre de processeurs pour la résolution ==&lt;br /&gt;
&lt;br /&gt;
voir commentaires sur run_icosa.def&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;###########################################&lt;br /&gt;
## There must be less MPIxOpenMP processes than the 10 x nsplit_i x nsplit_j tiles&lt;br /&gt;
## typically for pure MPI runs, let nproc = 10 x nsplit_i x nsplit_j&lt;br /&gt;
## it is better to have nbp/split &amp;amp;gt;~ 10&lt;br /&gt;
###########################################&lt;br /&gt;
#### 40 noeuds de 24 processeurs = 960 procs&lt;br /&gt;
nsplit_i=12&lt;br /&gt;
nsplit_j=8&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ehouarn: ''Une règle à suivre est de ne pas faire des tuiles &amp;amp;quot;trop petites&amp;amp;quot; et donc de garder nbsplit_i et nbsplit_j tels que nbp/nbsplit &amp;amp;gt;=10-15 (plutôt 15). Car il y a des calculs &amp;amp;quot;redondants&amp;amp;quot; faits sur les bords du domaine. Or si ton domaine est 10''10, le bord du domaine c'est 38% du domaine (38 points sur le bord pour 100 points en tout) alors que si ton domaine est 15''15, le bord du domaine n'est plus que 56/(15''15) = 25.7%. 56=2''15+2''13 (pour ne pas compter 2 fois les coins). On voudrait du coup des domaine les plus grand possible, clairement, mais il faut aussi voir que chaque domaine c'est nbp''nbp colonnes à résoudre sur ce même proc... Et c'est là ou il faut expérimenter un peu pour trouver l'optimum entre le nombre total de proc à employer et le gain effectif (temps total &amp;amp;quot;facturé&amp;amp;quot; au vu du nombre de procs monopolisés pour une simu donnée).''&lt;br /&gt;
&lt;br /&gt;
_Pour les noeuds, il faut tenir compte qu'un noeud sur Occigen, c'est 24 (ou 28) procs. Disons 24. Quand on demande N procs, le système te donne M noeuds, soit M*24 procs (les noeuds ne sont pas partagés avec d'autres applications). Et bien sûr on te facturera ces M noeuds, même si tu n'utilises pas tous les procs. Donc il faut s'efforcer de tomber juste et demander un multiple de 24 procs. Même raisonement si tu demandes à utiliser des noeuds de 28 procs._&lt;br /&gt;
&lt;br /&gt;
== comment changer la rotation? ==&lt;br /&gt;
&lt;br /&gt;
dans saturn_const.def, changer le taux de rotation jamais testé avec 0, mais pourrait créer des problèmes (ex: beta) ''vérifier que omega dans saturn_const.def n'intervient pas dans la physique LMDZ.GENERIC/libf/phystd/''&lt;br /&gt;
&lt;br /&gt;
== la dissipation c'est où? ==&lt;br /&gt;
&lt;br /&gt;
laplacien itéré: hyperviscosity - tau_graddiv,tau_gradrot,tau_divgrad: periode (plus c'est petit, plus la dissipation est efficace) - nitergdiv,nitergrot,niterdivgrad: ordre du laplacien (plus c'est grand, plus on dissipe sélectivement les petites échelles)&lt;br /&gt;
&lt;br /&gt;
== comment changer la grille cible du remapping on-the-fly ==&lt;br /&gt;
&lt;br /&gt;
dans context_lmdz_physics.xml changer les paramètres ni_glo et nj_glo par exemple pour remapper sur du lat/lon à 360 pts en latitude et 720 pts en longitude (0.5°) &amp;lt;domain id=&amp;quot;dom_regular&amp;quot; ni_glo=&amp;quot;720&amp;quot; nj_glo=&amp;quot;360&amp;quot; type=&amp;quot;rectilinear&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Forcer XIOS à écrire tous les .... ==&lt;br /&gt;
&lt;br /&gt;
Il faut utiliser l'attribut (ici par ex pour forcer l'écriture tous les ts (==time step) ; d'autres délais doivent être possible): &amp;lt;code&amp;gt;sync_freq=&amp;amp;quot;1ts&amp;amp;quot;&amp;lt;/code&amp;gt; dans le &amp;lt;code&amp;gt;&amp;amp;lt;file id=... .... &amp;amp;gt;&amp;lt;/code&amp;gt; concerné.&lt;br /&gt;
&lt;br /&gt;
== comment changer le bottom du modele ==&lt;br /&gt;
&lt;br /&gt;
* refaire tourner le 1D&lt;br /&gt;
** changer la pression &amp;lt;code&amp;gt;psurf&amp;lt;/code&amp;gt; dans rcm1d.def&lt;br /&gt;
** changer &amp;lt;code&amp;gt;ichoice=1&amp;lt;/code&amp;gt; et changer &amp;lt;code&amp;gt;tref&amp;lt;/code&amp;gt; (ex: 10b: 330K)&lt;br /&gt;
* refaire tourner le 3D (avec makestart) en changeant &amp;lt;code&amp;gt;preff&amp;lt;/code&amp;gt; dans &amp;lt;code&amp;gt;saturn_const.def&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== comment changer la fréquence de sortie des Xhistins.nc ==&lt;br /&gt;
&lt;br /&gt;
les commandes XIOS sont appelées depuis la physique (dans la config présente) dans context_lmdz_physics.xml il suffit de changer output_freq ''attention'' ts se comprend comme le pas de temps physique (voir donc dans run_icosa.def les paramètres dt et itau_physics pour le connaître) par exemple, pour des sorties tous les 20 jours Saturne&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;file id=&amp;quot;histins&amp;quot;&lt;br /&gt;
      name=&amp;quot;Xhistins&amp;quot;&lt;br /&gt;
      output_freq=&amp;quot;40ts&amp;quot;&lt;br /&gt;
      type=&amp;quot;one_file&amp;quot;&lt;br /&gt;
      enabled=&amp;quot;.true.&amp;quot;&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
== pas de radiatif et perturbations ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;faire descendre le modèle&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;modifier le code pour perturbations vitesse et pas température&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;compiler (voir README.md)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;changer dans callphys.def (dans saturn/makestart)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;surfalbedo = 1.0&lt;br /&gt;
surfemis = 0.0&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;changer dans callphys.def (dans saturn '''et''' saturn/makestart)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;corrk      = .false.&lt;br /&gt;
enertest  = .true.&lt;br /&gt;
randompert = 1&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;voir si on garde le flux interne ou non (&amp;lt;code&amp;gt;intheat&amp;lt;/code&amp;gt;)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;refaire les états initiaux (dans makestart)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;faire un run court pour voir sur les spectres l'injection d'Ek&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== comment comparer deux fichiers? file1.nc file2.nc ==&lt;br /&gt;
&lt;br /&gt;
ncdiff file1.nc file2.nc output.nc&lt;br /&gt;
&lt;br /&gt;
== comment coller plusieurs fichiers file1.nc file2.nc file3.nc ==&lt;br /&gt;
&lt;br /&gt;
ncrcat file1.nc file2.nc file3.nc output.nc avec juste la vitesse u et v ncrcat -v u -v v file1.nc file2.nc file3.nc output.nc avec tous les fichiers fileXXX.nc disponibles ncrcat file*.nc output.nc&lt;br /&gt;
&lt;br /&gt;
== comment tracer les champs et divers diagnostics en moyenne zonale? ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;mettre à jour planetoplot et planets&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;utiliser precast.py dans planetoplot/examples/ppclass_additional/dynanalysis&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;changer les options au début (il y a des exemples), exemple pour Saturne&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;fileAP=&amp;quot;Xhistins_42.nc&amp;quot;&lt;br /&gt;
p_upper,p_lower,nlev = 4.0e2,2.5e5,40&lt;br /&gt;
targetp1d = np.logspace(np.log10(p_lower),np.log10(p_upper),nlev)&lt;br /&gt;
myp = planets.Saturn&lt;br /&gt;
day_per_year = 24430.&lt;br /&gt;
short = False&lt;br /&gt;
includels = False&lt;br /&gt;
charx = &amp;quot;0,360&amp;quot;&lt;br /&gt;
ispressure = False&lt;br /&gt;
vartemp = &amp;quot;temperature&amp;quot;&lt;br /&gt;
outfile = &amp;quot;precast.nc&amp;quot;&lt;br /&gt;
nopole = True&amp;lt;/source&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Il faut que apbp.txt soit présent !&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;le résultat se trouve dans le fichier indiqué dans outfile&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== bilan de moment cinétique ==&lt;br /&gt;
&lt;br /&gt;
dans run_icosa.def&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;check_conservation = detailed &lt;br /&gt;
itau_check_conserv = 160&amp;lt;/pre&amp;gt;&lt;br /&gt;
le itau_check_conserv est comme itau_physics pour que la contribution de la physique à AAM ne soit pas nulle. de plus il est coûteux d'appeler les diagnostics trop souvent.&lt;br /&gt;
&lt;br /&gt;
S. Lebonnois, C. Covey, A. Grossman, H. Parish, G. Schubert, R. Walterscheid, P. Lauritzen, and C. Jablonowski. Angular momentum budget in General Circulation Models of superrotating atmospheres: A critical diagnostic. Journal of Geophysical Research (Planets), 117:E12004, 2012.&lt;br /&gt;
&lt;br /&gt;
P. H. Lauritzen, J. T. Bacmeister, T. Dubos, S. Lebonnois, and M. A. Taylor. Held-Suarez simulations with the Community Atmosphere Model Spectral Element (CAM-SE) dynamical core: A global axial angular momentum analysis using Eulerian and floating Lagrangian vertical coordinates. Journal of Advances in Modeling Earth Systems, 6:129-140, 2014.&lt;br /&gt;
&lt;br /&gt;
== XIOS server ou client ==&lt;br /&gt;
&lt;br /&gt;
# XIOS client &amp;lt;code&amp;gt;use_server=False&amp;lt;/code&amp;gt; Broadwell 24 processeurs sur 28&lt;br /&gt;
# XIOS server &amp;lt;code&amp;gt;use_server=true&amp;lt;/code&amp;gt; Broadwell 24 processurs sur 28 + 4 processeurs pour XIOS&lt;br /&gt;
&lt;br /&gt;
cas 1 est 3 min plus lent que cas 2 -- sur 2h20...! parce qu'on fait peu de sorties&lt;br /&gt;
&lt;br /&gt;
== Optimisation ==&lt;br /&gt;
&lt;br /&gt;
# 40 noeuds au lieu de 50 noeuds, même temps de calcul...! Testé dans la branche https://github.com/aymeric-spiga/dynamico-giant/tree/work_61levels&lt;br /&gt;
# &amp;lt;code&amp;gt;sync_freq=40ts&amp;lt;/code&amp;gt; (ou multiple de, si 40ts est la fréquence d'écriture) dans context_lmdz_physics.xml doit être inclus sinon il n'est pas réglé et XIOS transfère tout à la fin du run ce qui prend du temps (et peut occasionner des problèmes de mémoire)&lt;br /&gt;
&lt;br /&gt;
== Versions fonctionnelles de dynamico-giant ==&lt;br /&gt;
&lt;br /&gt;
=== Jupiter ===&lt;br /&gt;
&lt;br /&gt;
* XIOS revision 1583&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* ICOSAGCM revision 756&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* IOIPSL revision 339&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* FCM_V1.2 revision 12&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Physics revision 2228 (LMDZ.COMMON, LMDZ.GENERIC, ICOSA_LMDZ, ARCH)&lt;br /&gt;
&lt;br /&gt;
but check Physics version 2142 and 2180&lt;br /&gt;
&lt;br /&gt;
=== Saturne (référence Spiga 2020, à vérifier) ===&lt;br /&gt;
&lt;br /&gt;
* DYNAMICO --&amp;amp;gt; Revision: 756&lt;br /&gt;
* PHYSICS --&amp;amp;gt; Revision: 2005&lt;br /&gt;
* XIOS --&amp;amp;gt; Revision: 1583&lt;br /&gt;
* IOIPSL --&amp;amp;gt; Revision: 310?&lt;br /&gt;
&lt;br /&gt;
=== Saturne (simulation de référence sur 61 niveaux, Bardet et al. Icarus 2021) ===&lt;br /&gt;
&lt;br /&gt;
* XIOS revision 1583&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* ICOSAGCM revision 765&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* IOIPSL revision 310&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* FCM_V1.2 revision 12&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Physics revision 2005 (LMDZ.COMMON, LMDZ.GENERIC, ICOSA_LMDZ, ARCH)&lt;br /&gt;
&lt;br /&gt;
=== Saturne (simulation avec la GWD paramétrisation sur 61 niveaux, chapitre 6 PhD Bardet) ===&lt;br /&gt;
&lt;br /&gt;
* XIOS revision 1583&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* ICOSAGCM revision 765&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* IOIPSL revision 310&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* FCM_V1.2 revision 12&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Physics revision 2213 (LMDZ.COMMON, LMDZ.GENERIC, ICOSA_LMDZ, ARCH)&lt;br /&gt;
&lt;br /&gt;
=== Saturne (simulation sur 96 niveaux, Bardet et al. Nature Astronomy 2022) ===&lt;br /&gt;
&lt;br /&gt;
* XIOS revision 1583&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* ICOSAGCM revision 765&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* IOIPSL revision 431&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* FCM_V1.2 revision 12&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Physics revision 2305 (LMDZ.COMMON, LMDZ.GENERIC, ICOSA_LMDZ, ARCH)&lt;br /&gt;
&lt;br /&gt;
=== Saturne (simulation avec la GWD paramétrisation sur 96 niveaux, chapitre 6 PhD Bardet) ===&lt;br /&gt;
&lt;br /&gt;
* XIOS revision 1583&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* ICOSAGCM revision 765&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* IOIPSL revision 431&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* FCM_V1.2 revision 12&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Physics revision 2403 (LMDZ.COMMON, LMDZ.GENERIC, ICOSA_LMDZ, ARCH)&lt;br /&gt;
&lt;br /&gt;
=== Uranus &amp;amp;amp; Neptune (old version) ===&lt;br /&gt;
&lt;br /&gt;
* XIOS revision 1944&lt;br /&gt;
* ICOSAGCM revision 765&lt;br /&gt;
* IOIPSL revision 431&lt;br /&gt;
* FCM_V1.2 revision 12&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Physics revision 2413 (LMDZ.COMMON, LMDZ.GENERIC, ICOSA_LMDZ, ARCH)&lt;br /&gt;
&lt;br /&gt;
=== Uranus &amp;amp;amp; Neptune (new version) ===&lt;br /&gt;
&lt;br /&gt;
* XIOS revision 2203&lt;br /&gt;
* ICOSAGCM revision (20/08/2021)&lt;br /&gt;
* IOIPSL revision 450&lt;br /&gt;
* FCM_V1.2 revision 12&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Physics revision 2555 (LMDZ.COMMON, LMDZ.GENERIC, ICOSA_LMDZ, ARCH)&lt;br /&gt;
&lt;br /&gt;
works on 03/03/2022 for all HEAD&lt;br /&gt;
&lt;br /&gt;
== Les fichiers d'architecture (Installation sur un nouveau cluster) ==&lt;br /&gt;
&lt;br /&gt;
En pratique LMDZ.COMMON, ICOSA_LMDZ et IOIPSL peuvent utiliser exactement le même fichier arch.fcm ; mais celui pour ICOSAGCM est légèrement différent (les %FPP_DEF diffèrent, peut-être aussi le %FPP).&lt;br /&gt;
&lt;br /&gt;
make_icosa_lmdz doit être lancé avec -arch_path ../ARCH puisque les arch.env et arch.path communs se trouvent dans ../ARCH (l'option -arch_path ne concerne d'ailleurs que les fichiers arch.env et arch.path; le fichier arch.fcm recherché sera toujours celui dans le &amp;amp;quot;arch&amp;amp;quot; de chacun des modèles. Donc il faut bien mettre pour chacun des quatre modèles (LMDZ.COMMON, ICOSA_LMDZ,IOIPSL et ICOSAGCM) le arch.fcm dans le sous-dossier arch/ du modèle correspondant.&lt;br /&gt;
&lt;br /&gt;
XIOS est écrit en C++, et pas en Fortran. Le fichier arch.fcm correspondant est donc nécessairement différent de celui des quatre autres modèles. Pour créér ce arch.fcm, prendre exemple sur les fichiers .fcm déjà présent dans XIOS/arch/, avec une architecture similaire à celle du nouveau cluster. En particulier, il faut utiliser des versions de gcc/gfortran &amp;amp;gt; 6+. Il faut absolument avoir une bibliothèque HDF5 compilée en parallèle, ainsi que netcdf-C et netcdf-fortran (et peut être aussi netcdf-Cxx) compilé en parallèle. Sans ça, il sera peut-être possible de compiler le modèle, mais pas de lancer une simulation en utilisant XIOS.&lt;br /&gt;
&lt;br /&gt;
== Commencer une nouvelle simulation en utilisant le schéma des panaches thermiques ==&lt;br /&gt;
&lt;br /&gt;
# Comme pour toutes nouvelles simulations, il faut commencer par un run 1D de plusieurs décennies permettant d'obtenir un profil de température (&amp;lt;code&amp;gt;temp_profile.txt&amp;lt;/code&amp;gt;) et les coefficients ap et bp (&amp;lt;code&amp;gt;apbp.txt&amp;lt;/code&amp;gt;) en équilibre radiatif-convectif pour la planète que l'on étudie. Ce run 1D s'effectue dans les dossiers jupiter1d, saturn1d, neptune1d et/ou uranus1d, avec ces options pour le callphys.def :&lt;br /&gt;
&lt;br /&gt;
callrad = true calladj = true tous les autres mots clés à false (y compris &amp;lt;code&amp;gt;calltherm&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;2&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Faire un &amp;amp;quot;makestart&amp;amp;quot; run : permet d'obtenir les fichiers restart à partir du profil de température initial. Il s'agit du run dont l'état initial est le profil de température créé par run 1D (&amp;lt;code&amp;gt;temp_profile.txt&amp;lt;/code&amp;gt; est appliquer à chaque point de grille horizontale du modèle). L'état initial est ainsi une planète isotherme horizontalement mais qui varie verticalement. Pour ce run, aucun traceur ne va être utilisé dans le modèle. Néanmoins, il faut renseigner au modèle le nombre de traceurs que nous souhaitons utiliser avec le schéma des panaches thermiques afin qu'il puisse créer la dimension nq et le champ q dans les fichiers &amp;lt;code&amp;gt;restart_icosa.nc&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;restartfi.nc&amp;lt;/code&amp;gt;. dans '''callphys.def''' :&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;          traceur = true&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;dans '''run_icosa.def''' : &amp;lt;code&amp;gt;nqtot = 2&amp;lt;/code&amp;gt; (par exemple, h2o_vap et h2o_ice) dans '''traceur.def''' :&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;           2&lt;br /&gt;
           h2o_vap&lt;br /&gt;
           h2o_ice&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Ajout des quantités pour chaque traceur. Ici, nous ajoutons les profils pour chacun des traceurs dans les fichiers &amp;lt;code&amp;gt;restart_icosa.nc&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;restartfi.nc&amp;lt;/code&amp;gt; &amp;amp;quot;à la main&amp;amp;quot; en utilisant le programme python &amp;lt;code&amp;gt;/processing_codes/tracer_settings.py&amp;lt;/code&amp;gt; pour obtenir des fichiers restart avec la bonne abondance d'eau dans le cas présent.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Commencer la simulation : Il ne reste plus qu'à lancer la simulation 3D avec les nouveaux fichiers restart et les réglages suivant : dans '''callphys.def''' :&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;            traceur = true&lt;br /&gt;
            calltherm = true&lt;br /&gt;
            # thermal plume model options:&lt;br /&gt;
            divmpl = true&lt;br /&gt;
            r_aspect_thermals = 2.0&lt;br /&gt;
            tau_thermals      = 0.0&lt;br /&gt;
            betalpha          = 0.9&lt;br /&gt;
            afact             = 0.7&lt;br /&gt;
            fact_epsilon      = 2.e-4&lt;br /&gt;
            alpha_max         = 0.7&lt;br /&gt;
            fomass_max        = 0.5&lt;br /&gt;
            pres_limit        = 2.e5&lt;br /&gt;
            water             = true&lt;br /&gt;
            watercond         = true&lt;br /&gt;
            waterain          = true&lt;br /&gt;
            evap_prec         = true&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dans '''run_icosa.def''' : &amp;lt;code&amp;gt;nqtot = 2&amp;lt;/code&amp;gt; dans '''traceur.def''' :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;               2&lt;br /&gt;
               h2o_vap&lt;br /&gt;
               h2o_ice&amp;lt;/pre&amp;gt;&lt;br /&gt;
Enfin, ajouter la déclaration et l'écriture des variables relatives à l'utilisation du schéma des thermiques (&amp;lt;code&amp;gt;h2o_vap&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;h2o_ice&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;w_plm&amp;lt;/code&amp;gt;) dans les fichiers XML de la physique.&lt;br /&gt;
&lt;br /&gt;
== Erreur en début de run, SEGMENTATION FAULT dans la routine &amp;lt;code&amp;gt;advect.f90&amp;lt;/code&amp;gt; (ICOSAGCM/ppsrc/transport) au niveau de l'appel à &amp;lt;code&amp;gt;cross_product2&amp;lt;/code&amp;gt;. ==&lt;br /&gt;
&lt;br /&gt;
La routine &amp;lt;code&amp;gt;cross_product2&amp;lt;/code&amp;gt; effectue des produits vectoriels. Cette erreur vient du fait qu'en essayant de faire des optimisations de calcul, le compilateur se prend &amp;amp;quot;les pieds dans le tapis&amp;amp;quot; et ne sait plus faire le produit vectoriel. Pour empêcher le compilateur de faire des optimisations trop poussées, il faut ajouter l'option &amp;lt;code&amp;gt;-fp-model strict&amp;lt;/code&amp;gt; au niveau du mot-clé &amp;lt;code&amp;gt;%BASE_FFLAGS&amp;lt;/code&amp;gt; dans tous les fichiers &amp;lt;code&amp;gt;.fcm&amp;lt;/code&amp;gt; du modèle (LMDZ.COMMON / ICOSAGCM / ICOSA_LMDZ)&lt;br /&gt;
&lt;br /&gt;
== Branche master version du 04/04/2022 dans le dossier Jupiter ==&lt;br /&gt;
&lt;br /&gt;
La version actuelle des fichiers de réglage dans le dossier Jupiter sont réglés pour utiliser des traceurs. Si vous souhaiter utiliser le modèle sans traceur, il vous faut modifier les fichiers suivants :&lt;br /&gt;
&lt;br /&gt;
run_icosa.def&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;        nqtot = 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
traceur.def&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;        0&amp;lt;/pre&amp;gt;&lt;br /&gt;
context_dynamico.xml (ligne 125)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;         &amp;amp;lt;field id=&amp;amp;quot;q_start&amp;amp;quot; name=&amp;amp;quot;q&amp;amp;quot;  grid_ref=&amp;amp;quot;grid_q_start&amp;amp;quot; prec=&amp;amp;quot;8&amp;amp;quot;/&amp;amp;gt;   &amp;lt;/pre&amp;gt;&lt;br /&gt;
== PROFILING with DYNAMICO-Giant: ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;-pg&amp;lt;/code&amp;gt;: Generate extra code to write profile information suitable for analysis program &amp;lt;code&amp;gt;gprof&amp;lt;/code&amp;gt;. You must use this option when compiling the sources files you want data about and you must '''also use it when linking'''. 1. For DYNAMICO-Giant: in the arch.fcm file of each part of the model (ICOSAGCM, ICOSA_LMDZ, LMDZ.COMMON and XIOS), you have to add the option &amp;lt;code&amp;gt;-pg&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;%PROD_FFLAGS&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;%BASE_LD&amp;lt;/code&amp;gt; 2. Compile as usual 3. Execute your code as usual 4. Run &amp;lt;code&amp;gt;gprof&amp;lt;/code&amp;gt; tool:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    gprof icosa_lmdz.exe goon.out &amp;amp;gt; analysis.txt&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Aspiga</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=File:Fig3.png&amp;diff=1172</id>
		<title>File:Fig3.png</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=File:Fig3.png&amp;diff=1172"/>
				<updated>2023-01-24T10:22:48Z</updated>
		
		<summary type="html">&lt;p&gt;Aspiga: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Aspiga</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=File:Fig2.png&amp;diff=1171</id>
		<title>File:Fig2.png</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=File:Fig2.png&amp;diff=1171"/>
				<updated>2023-01-24T10:22:30Z</updated>
		
		<summary type="html">&lt;p&gt;Aspiga: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Aspiga</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=File:Fig1.png&amp;diff=1170</id>
		<title>File:Fig1.png</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=File:Fig1.png&amp;diff=1170"/>
				<updated>2023-01-24T10:22:09Z</updated>
		
		<summary type="html">&lt;p&gt;Aspiga: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Aspiga</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Dynamico-giant&amp;diff=1169</id>
		<title>Dynamico-giant</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Dynamico-giant&amp;diff=1169"/>
				<updated>2023-01-24T10:21:24Z</updated>
		
		<summary type="html">&lt;p&gt;Aspiga: /* D) Optimisation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[transferred from github, now active here]&lt;br /&gt;
&lt;br /&gt;
= 1. Introduction =&lt;br /&gt;
&lt;br /&gt;
&amp;amp;quot;Welcome to the dynamico-giant wiki&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dynamico-giant est un dépôt git qui permet d'installer le modèle Dynamico avec les fichiers de configs propres aux planètes géantes gazeuses et géantes glacées. Ci-dessous, vous trouverez presque (car nous ne sommes pas parfaits) toutes les informations sur l'installation, la compilation du modèle et les paramètres que vous pouvez modifier pour faire tourner le modèle.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;quot;Allons-y!&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
= 2. Installation =&lt;br /&gt;
&lt;br /&gt;
== A) Fichiers d'architecture ==&lt;br /&gt;
&lt;br /&gt;
=== - Modules ===&lt;br /&gt;
&lt;br /&gt;
Before installation, set environment (do it once) in your .bash_profile.&lt;br /&gt;
&lt;br /&gt;
Modules used on Occigen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ulimit -s unlimited&lt;br /&gt;
# modules&lt;br /&gt;
module purge&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;
module load ncview&lt;br /&gt;
module load nco&lt;br /&gt;
module load qt&lt;br /&gt;
module load python&amp;lt;/pre&amp;gt;&lt;br /&gt;
Modules used on Ciclad:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ulimit -s unlimited&lt;br /&gt;
# modules&lt;br /&gt;
module purge&lt;br /&gt;
module load gnu/4.9.3 &lt;br /&gt;
module load intel/15.0.6.233&lt;br /&gt;
module load openmpi/1.6.5-ifort&lt;br /&gt;
module load hdf5/1.8.18-parallel-ifort&lt;br /&gt;
module load netcdf4/4.4.1.1-parallel-ifort&amp;lt;/pre&amp;gt;&lt;br /&gt;
Beware, if you change version of model (newer or older version), it's possible that you have to change modules...&lt;br /&gt;
&lt;br /&gt;
=== - Installation sur un nouveau cluster ===&lt;br /&gt;
&lt;br /&gt;
En pratique LMDZ.COMMON, ICOSA_LMDZ et IOIPSL peuvent utiliser exactement le même fichier arch.fcm ; mais celui pour ICOSAGCM est légèrement différent (les %FPP_DEF diffèrent, peut-être aussi le %FPP).&lt;br /&gt;
&lt;br /&gt;
make_icosa_lmdz doit être lancé avec -arch_path ../ARCH puisque les arch.env et arch.path communs se trouvent dans ../ARCH (l'option -arch_path ne concerne d'ailleurs que les fichiers arch.env et arch.path; le fichier arch.fcm recherché sera toujours celui dans le &amp;amp;quot;arch&amp;amp;quot; de chacun des modèles. Donc il faut bien mettre pour chacun des quatre modèles (LMDZ.COMMON, ICOSA_LMDZ,IOIPSL et ICOSAGCM) le arch.fcm dans le sous-dossier arch/ du modèle correspondant.&lt;br /&gt;
&lt;br /&gt;
L'installation d'IOIPSL doit se faire à partir du bon script bash. Si vous utilisez un server autre qu'occigen, il vous faut changer le nom du script à utiliser dans install_ioipsl.sh. Par exemple, il vous faudra utiliser install_ioipsl_ciclad-ifort.bash pour CICLAD.&lt;br /&gt;
&lt;br /&gt;
XIOS est écrit en C++, et pas en Fortran. Le fichier arch.fcm correspondant est donc nécessairement différent de celui des quatre autres modèles. Pour créér ce arch.fcm, prendre exemple sur les fichiers .fcm déjà présent dans XIOS/arch/, avec une architecture similaire à celle du nouveau cluster. En particulier, il faut utiliser des versions de gcc/gfortran &amp;amp;gt; 6+. Il faut absolument avoir une bibliothèque HDF5 compilée en parallèle, ainsi que netcdf-C et netcdf-fortran (et peut être aussi netcdf-Cxx) compilé en parallèle. Sans ça, il sera peut-être possible de compiler le modèle, mais pas de lancer une simulation en utilisant XIOS.&lt;br /&gt;
&lt;br /&gt;
== B. Download ==&lt;br /&gt;
&lt;br /&gt;
Download structure&lt;br /&gt;
&lt;br /&gt;
Take place on a repository and git clone the model.&lt;br /&gt;
&lt;br /&gt;
On occigen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;cd $SCRATCHDIR&lt;br /&gt;
git clone https://github.com/aymeric-spiga/dynamico-giant.git [optional different name]&amp;lt;/pre&amp;gt;&lt;br /&gt;
== C. Install ==&lt;br /&gt;
&lt;br /&gt;
Install code&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;cd dynamico-giant&lt;br /&gt;
./install.sh&lt;br /&gt;
./install_ioipsl.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
A login and a password are necessary to install IOIPSL (only for the first time, after that we can save them). Please contact TGCC computing center to get the login/password.&lt;br /&gt;
&lt;br /&gt;
After that, please add &amp;amp;quot;$PWD&amp;amp;quot;/FCM_V1.2/bin/ to PATH environment variable.&lt;br /&gt;
&lt;br /&gt;
Ant that's all, we can now change parameters of files or compile the code to do a test (part 6) or eat a beautiful tartiflette (can be also do during compilation).&lt;br /&gt;
&lt;br /&gt;
= 3. General parameters =&lt;br /&gt;
&lt;br /&gt;
== A) Mesh grid &amp;amp;amp; resolution ==&lt;br /&gt;
&lt;br /&gt;
On run_icosa.def:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;nbp --&amp;amp;gt; number of subdivision on a main triangle: integer (default=40)&lt;br /&gt;
        nbp = sqrt((nbr_lat x nbr_lon)/10)&lt;br /&gt;
        nbp                 20  40  80 160&lt;br /&gt;
        T-edge length (km) 500 250 120  60&lt;br /&gt;
        Example: nbp(128x96)=35 -&amp;amp;gt; 40&lt;br /&gt;
                 nbp(256x192)=70 -&amp;amp;gt; 80&lt;br /&gt;
                 nbp(360x720)=160 -&amp;amp;gt; 160&lt;br /&gt;
nsplit_i, nsplit_j --&amp;amp;gt; sub splitting of main rhombus: integer&lt;br /&gt;
                        Example: for nbp=80, nsplit_i=4,nsplit_j=6&lt;br /&gt;
                        nbp/nsplit_{i,j} = 20 &amp;amp;gt; 10 &amp;amp;amp; 13 &amp;amp;gt; 10 --&amp;amp;gt; GOOD&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== - Remapping ===&lt;br /&gt;
&lt;br /&gt;
Pour le remapping, il faut aller dans context_lmdz_physics.xml changer les paramètres ni_glo et nj_glo par exemple pour remapper sur du lat/lon à 360 pts en latitude et 720 pts en longitude (0.5°).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;amp;lt;domain id=&amp;amp;quot;dom_regular&amp;amp;quot; ni_glo=&amp;amp;quot;720&amp;amp;quot; nj_glo=&amp;amp;quot;360&amp;amp;quot; type=&amp;amp;quot;rectilinear&amp;amp;quot;&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== B) Time ==&lt;br /&gt;
&lt;br /&gt;
* ndays is number of days to simulate.&lt;br /&gt;
* day_step is number of dynamical time step per day&lt;br /&gt;
* Dynamics called every day_length(in s) / day_step per day&lt;br /&gt;
* 1 ts (physical timestep) = (day_length(in s)/day_step) x itau_physics&lt;br /&gt;
* Physics called (day_step / itau_physics) per day&lt;br /&gt;
* Physics called day_length(in s) / ts per day&lt;br /&gt;
* Radiative called every Physics x iradia physical timestep&lt;br /&gt;
* Radiative called every iradia/Physics days&lt;br /&gt;
&lt;br /&gt;
== C) Sponge layer ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;iflag_sponge=0 for no sponge (default)&lt;br /&gt;
iflag_sponge=1 for sponge over 4 topmost layers&lt;br /&gt;
iflag_sponge=2 for sponge from top to ~1% of top layer pressure&lt;br /&gt;
mode_sponge=1 for u,v --&amp;amp;gt; 0&lt;br /&gt;
mode_sponge=2 for u,v --&amp;amp;gt; zonal mean&lt;br /&gt;
mode_sponge=3 for u,v,h --&amp;amp;gt; zonal mean&lt;br /&gt;
tau_sponge --&amp;amp;gt; damping frequency at last layer&lt;br /&gt;
           --&amp;amp;gt; e-5 medium / e-4 strong yet reasonable / e-3 very strong&amp;lt;/pre&amp;gt;&lt;br /&gt;
Spiga et al (2020): Shaw and Shepherd (2007) showed that the inclusion of sponge-layer parameterizations that do not conserve angular momentum (which is the case for Rayleigh drag), or allow for momentum to escape to space, implies a sensitivity of the dynamical results (especially zonal wind speed) to the choice for model top or drag characteristic timescale, because of spurious downward influence when momentum conservation is violated.&lt;br /&gt;
&lt;br /&gt;
Il ne faut donc pas ajouter de sponge layer pour les planètes géantes (iflag_sponge = 0)&lt;br /&gt;
&lt;br /&gt;
== D) Dissipation ==&lt;br /&gt;
&lt;br /&gt;
Spiga et al (2020): A subgrid-scale dissipation term is included in our Saturn DYNAMICO GCM to prevent the accumulation of energy at scales close to the grid resolution, caused by the GCM not resolving the turbulent scales at which this energy is dissipated. This hyperviscosity term is written in our Saturn DYNAMICO model as an iterated Laplacian term on a given variable. The three variables denoted are vorticity, divergence, and potential temperature, chosen to set horizontal dissipation on respectively the rotational component of the flow (e.g. Rossby waves), the divergent component of the flow (e.g. gravity waves), and the diabatic perturbations (e.g. coming from the physical packages).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;tau_graddiv --&amp;amp;gt; dissipation timescale of smallest wvl: u,v (gradiv) : real (default=5000)&lt;br /&gt;
tau_gradrot --&amp;amp;gt; dissipation timescale of smallest wvl: u,v (nxgradrot) : real (default=5000)&lt;br /&gt;
tau_divgrad --&amp;amp;gt; dissipation timescale of smallest wvl: h (divgrad) : real (default=5000)&lt;br /&gt;
nitergdiv --&amp;amp;gt; number of iterations for gradiv operator : integer (default=1)&lt;br /&gt;
nitergrot --&amp;amp;gt; number of iterations for nxgradrot operator : integer (default=1)&lt;br /&gt;
niterdivgrad --&amp;amp;gt; number of iterations for divgrad operator : integer (default=1)&amp;lt;/pre&amp;gt;&lt;br /&gt;
tau_graddiv,tau_gradrot,tau_divgrad correspondent au temps de dissipation (plus c'est petit, plus la dissipation est efficace). nitergdiv,nitergrot,niterdivgrad correspondent à l'ordre du laplacien (plus c'est grand, plus on dissipe sélectivement les petites échelles).&lt;br /&gt;
&lt;br /&gt;
Attention, Trop dissiper -&amp;amp;gt; instabilité numérique&lt;br /&gt;
&lt;br /&gt;
Pas assez dissiper -&amp;amp;gt; instabilité dynamique trop forte&lt;br /&gt;
&lt;br /&gt;
L'ordre du laplacien dans les fichiers .def est suffisant. S'il faut changer la dissipation, il vaut mieux changer les temps de dissipation que l'ordre du laplacien (risque d'instabilité numérique).&lt;br /&gt;
&lt;br /&gt;
=== - Facteurs de dissipation ===&lt;br /&gt;
&lt;br /&gt;
A partir de ces valeurs de temps de dissipation, il est également possible d'ajouter 2 facteurs de dissipation (fac_mid et fac_up) qui permettent d'augmenter la dissipation à partir de certains niveaux. Le fac_mid permet de diminuer le temps de dissipation d'un facteur sur toute l'atmosphère jusqu'au bottom. Il y a une zone transition de quelques niveaux entre le bottom (le temp de dissipation au bottom est sans facteur) et quelques niveaux au-dessus où la valeur du temps de dissipation est avec ce facteur jusqu'au top. On ne peut donc pas choisir l'altitude et la zone de transition avec ce facteur. Quant au fac_up, il permet de diminuer le temps de dissipation d'un facteur à partir d'une altitude et d'une épaisseur de zone de transition qu'on peut choisir. On peut utiliser la combinaison des 2 ou l'un des 2. Pour ne pas prendre en compte ces facteurs de dissipation, il faut qu'il soit mis à 1.&lt;br /&gt;
&lt;br /&gt;
Il existe 2 modes possibles pour le fac_up: le mode martien (en fonction de l'altitude) et le mode vénusien (en fonction de la pression). Dans le 1er cas, il faut renseigner l'altitude où démarre la zone de transition et l'épaisseur de cette zone. Dans le 2ème cas, il faut renseigner la pression où démarre la zone de transition et l'échelle de hauteur de cette zone de transition.&lt;br /&gt;
&lt;br /&gt;
Il est vivement conseillé de tracer votre profil de dissipation à partir des équations (dans vert_prof_dissip_icosa_lmdz.f90) afin d'être certain de leur allure.&lt;br /&gt;
&lt;br /&gt;
== E) Rayleigh Friction ==&lt;br /&gt;
&lt;br /&gt;
Spiga et al 2020: This drag plays the role devoted to surface friction on terrestrial planets, which allows to close the angular momentum budget through downward control (Haynes and McIntyre, 1987; Haynes et al., 1991). This could also be regarded as a zeroth-order parameterization for Magneto-HydroDynamic (MHD) drag as a result of Lorenz forces acting on jet streams putatively extending to the depths of Saturn's interior (Liu et al., 2008; Galanti et al., 2019), much deeper than the shallow GCM's model bottom.&lt;br /&gt;
&lt;br /&gt;
Comme Liu and Schneider (2010), cette couche de frottement ne s'exerce pas aux régions équatoriales car à l’extérieur du cylindre tangeant du rayon équatorial, les cylindres convectifs ne coupent pas cette couche et ne subissent pas les frottements liés aux effets de la MHD.&lt;br /&gt;
&lt;br /&gt;
Le paramètre rayleigh_limlat correspond à la latitude maximale de part et d'autre de l'équateur où cette friction n'est pas observée.&lt;br /&gt;
&lt;br /&gt;
Pour le temps (rayleigh_friction_tau), il est similaire à celui utilisé par Liu and Schneider (2010). Elle est fixée à 100 jours terrestres. Mais attention, on fonction de la valeur, la dynamique peut évoluer dans votre simulation.&lt;br /&gt;
&lt;br /&gt;
== F) Conservation ==&lt;br /&gt;
&lt;br /&gt;
Dans run_icosa.def:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;check_conservation = detailed &lt;br /&gt;
itau_check_conserv = 320&amp;lt;/pre&amp;gt;&lt;br /&gt;
Le itau_check_conserv est comme itau_physics pour que la contribution de la physique à AAM ne soit pas nulle. de plus il est coûteux d'appeler les diagnostics trop souvent.&lt;br /&gt;
&lt;br /&gt;
S. Lebonnois, C. Covey, A. Grossman, H. Parish, G. Schubert, R. Walterscheid, P. Lauritzen, and C. Jablonowski. Angular momentum budget in General Circulation Models of superrotating atmospheres: A critical diagnostic. Journal of Geophysical Research (Planets), 117:E12004, 2012.&lt;br /&gt;
&lt;br /&gt;
P. H. Lauritzen, J. T. Bacmeister, T. Dubos, S. Lebonnois, and M. A. Taylor. Held-Suarez simulations with the Community Atmosphere Model Spectral Element (CAM-SE) dynamical core: A global axial angular momentum analysis using Eulerian and floating Lagrangian vertical coordinates. Journal of Advances in Modeling Earth Systems, 6:129-140, 2014.&lt;br /&gt;
&lt;br /&gt;
== G) Traceur ==&lt;br /&gt;
&lt;br /&gt;
=== - Branche master version du 04/04/2022 dans le dossier Jupiter (traceur) ===&lt;br /&gt;
&lt;br /&gt;
La version actuelle des fichiers de réglage dans le dossier Jupiter est réglée pour utiliser des traceurs. Si vous souhaiter utiliser le modèle sans traceur, il vous faut modifier les fichiers suivants :&lt;br /&gt;
&lt;br /&gt;
run_icosa.def&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;        nqtot = 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
traceur.def&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;        0&amp;lt;/pre&amp;gt;&lt;br /&gt;
context_dynamico.xml (ligne 125)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;         &amp;amp;lt;field id=&amp;amp;quot;q_start&amp;amp;quot; name=&amp;amp;quot;q&amp;amp;quot;  grid_ref=&amp;amp;quot;grid_q_start&amp;amp;quot; prec=&amp;amp;quot;8&amp;amp;quot;/&amp;amp;gt;   &amp;lt;/pre&amp;gt;&lt;br /&gt;
== H) Bottom du modèle ==&lt;br /&gt;
&lt;br /&gt;
* refaire tourner le 1D&lt;br /&gt;
** changer la pression &amp;lt;code&amp;gt;psurf&amp;lt;/code&amp;gt; dans rcm1d.def&lt;br /&gt;
** changer &amp;lt;code&amp;gt;ichoice=1&amp;lt;/code&amp;gt; et changer &amp;lt;code&amp;gt;tref&amp;lt;/code&amp;gt; (ex: 10b: 330K)&lt;br /&gt;
* refaire tourner le 3D (avec makestart) en changeant &amp;lt;code&amp;gt;preff&amp;lt;/code&amp;gt; dans &amp;lt;code&amp;gt;[nom_de_la_planète]_const.def&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 4. Physical parameterizations =&lt;br /&gt;
&lt;br /&gt;
== A) Cycle diurne ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;diurnal = .false.&amp;lt;/code&amp;gt; Car le temps radiatif est beaucoup plus long sur les planètes géantes.&lt;br /&gt;
&lt;br /&gt;
== B) Anneaux ==&lt;br /&gt;
&lt;br /&gt;
[Pour saturne uniquement] Il est possible d'ajouter l'ombre des anneaux dans le callphys.def:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;rings_shadow = .true.&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== C) Collision-induced absorption data ==&lt;br /&gt;
&lt;br /&gt;
L'absorption induite par collision est importante dans le transfet radiatif sur les planètes géantes, notamment celle provenant de H2. Cependant, le rapport ortho-para du H2 est différent selon les planètes et peut modifier fortement le chauffage sur ces planètes. Pour le cas des géantes gazeuses, le rapport ortho-para est normal (rapport 3:1). Mais pour le cas des géantes glacées, le rapport ortho-para est à l'équilibre. Par défaut, le rapport ortho-para est normal (H2orthopara_mixture = normal). Pour les géantes glacées, il faut mettre H2orthopara_mixture = equilibrium .&lt;br /&gt;
&lt;br /&gt;
Si vous voulez modifier le fichier utilisé dans un cas de CIA, il faut aller dans le code (dynamico-giant/code/LMDZ.GENERIC/libf/phystd/interpolate????.F90) et changer le nom du fichier (assurez-vous que ce fichier soit dans votre répertoire DATAGENERIC/continuum_data).&lt;br /&gt;
&lt;br /&gt;
Dans la version actuelle, il n'existe pas d'option qui permet de ne pas utiliser certaines contributions de CIA. Par exemple, si votre atmosphère est composé de H2, He et CH4 et que vous ne voulez pas des contributions venant du CH4, il vous faut commenter dans le modèle ces contributions.&lt;br /&gt;
&lt;br /&gt;
== D) K-correlated data ==&lt;br /&gt;
&lt;br /&gt;
Les fichiers k-corrélées doivent se situer dans votre répertoire DATAGENERIC/corrk_data .&lt;br /&gt;
&lt;br /&gt;
== E) Cpp mode ==&lt;br /&gt;
&lt;br /&gt;
cpp_mugaz_mode=0 pour que la valeur de cpp et de mugaz proviennent de la dynamique. cpp_mugaz_mode=1 pour forcer la valeur de cpp et de mugaz dans le callphys.def (à utiliser dans le makestart uniquement) cpp_mugaz_mode=2 pour calculer automatiquement à partir de données de références à 300 K et du gases.def (à éviter)&lt;br /&gt;
&lt;br /&gt;
== F) Generic n-layer aerosols (replaces the former 2-layer and NH3 cloud) ==&lt;br /&gt;
&lt;br /&gt;
Ce mode permet de créer des couches d'aérosols/nuages ayant une opacité (aeronlay_tauref) à une longueur d'onde donnée (aeronlay_lamref), un rayon de particule fixe (aeronlay_size) situés à une pression fixe et en fonction des propriétés optiques des particules (optprop_aeronlay_vis et optprop_aeronlay_ir). Pour le cas de l'altitude, on peut choisir soit (aeronlay_choice = 1) une pression max (aeronlay_ptop) et une pression min (aeronlay_pbot), soit (aeronlay_choice = 2) une pression min (aeronlay_pbot) et une échelle de hauteur (aeronlay_sclhght). On peut également choisir la variance effective pour les rayons de particules.&lt;br /&gt;
&lt;br /&gt;
Le nombre de couche de nuage (nlayero) est égal au nombre de scatterers dans la compilation (option -s ).&lt;br /&gt;
&lt;br /&gt;
Les fichiers de propriétés optiques doivent être dans votre DATAGENERIC.&lt;br /&gt;
&lt;br /&gt;
Un exemple pour 3 couches:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;aeronlay = .true.&lt;br /&gt;
nlayaero = 3&lt;br /&gt;
aeronlay_tauref       = 2.5 0.04 0.1&lt;br /&gt;
aeronlay_lamref       = 0.8e-6 0.8e-6 0.16e-6&lt;br /&gt;
aeronlay_choice       = 2 2 1&lt;br /&gt;
aeronlay_pbot         = 1.5e5 1.6e5 20.&lt;br /&gt;
aeronlay_ptop         = 1.1e5 1. 1.&lt;br /&gt;
aeronlay_sclhght      = 0.1 2.0 1&lt;br /&gt;
aeronlay_size         = 0.5e-6 0.05e-6 0.5e-6&lt;br /&gt;
aeronlay_nueff        = 0.3 0.3 0.3&lt;br /&gt;
optprop_aeronlay_vis  = optprop_aerosol2_vis.dat optprop_aerosol3_vis.dat optprop_carbon4_vis.dat&lt;br /&gt;
optprop_aeronlay_ir   = optprop_aerosol2_ir.dat optprop_aerosol3_ir.dat optprop_carbon4_ir.dat&amp;lt;/pre&amp;gt;&lt;br /&gt;
== G) Panaches thermiques ==&lt;br /&gt;
&lt;br /&gt;
# Comme pour toutes nouvelles simulations, il faut commencer par un run 1D de plusieurs décennies permettant d'obtenir un profil de température (&amp;lt;code&amp;gt;temp_profile.txt&amp;lt;/code&amp;gt;) et les coefficients ap et bp (&amp;lt;code&amp;gt;apbp.txt&amp;lt;/code&amp;gt;) en équilibre radiatif-convectif pour la planète que l'on étudie. Ce run 1D s'effectue dans les dossiers jupiter1d, saturn1d, neptune1d et/ou uranus1d, avec ces options pour le callphys.def :&lt;br /&gt;
&lt;br /&gt;
callrad = true calladj = true tous les autres mots clés à false (y compris &amp;lt;code&amp;gt;calltherm&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;2&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Faire un &amp;amp;quot;makestart&amp;amp;quot; run : permet d'obtenir les fichiers restart à partir du profil de température initial. Il s'agit du run dont l'état initial est le profil de température créé par run 1D (&amp;lt;code&amp;gt;temp_profile.txt&amp;lt;/code&amp;gt; est appliquer à chaque point de grille horizontale du modèle). L'état initial est ainsi une planète isotherme horizontalement mais qui varie verticalement. Pour ce run, aucun traceur ne va être utilisé dans le modèle. Néanmoins, il faut renseigner au modèle le nombre de traceurs que nous souhaitons utiliser avec le schéma des panaches thermiques afin qu'il puisse créer la dimension nq et le champ q dans les fichiers &amp;lt;code&amp;gt;restart_icosa.nc&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;restartfi.nc&amp;lt;/code&amp;gt;. dans '''callphys.def''' :&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;          traceur = true&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;dans '''run_icosa.def''' : &amp;lt;code&amp;gt;nqtot = 2&amp;lt;/code&amp;gt; (par exemple, h2o_vap et h2o_ice) dans '''traceur.def''' :&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;           2&lt;br /&gt;
           h2o_vap&lt;br /&gt;
           h2o_ice&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Ajout des quantités pour chaque traceur. Ici, nous ajoutons les profils pour chacun des traceurs dans les fichiers &amp;lt;code&amp;gt;restart_icosa.nc&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;restartfi.nc&amp;lt;/code&amp;gt; &amp;amp;quot;à la main&amp;amp;quot; en utilisant le programme python &amp;lt;code&amp;gt;/processing_codes/tracer_settings.py&amp;lt;/code&amp;gt; pour obtenir des fichiers restart avec la bonne abondance d'eau dans le cas présent.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Commencer la simulation : Il ne reste plus qu'à lancer la simulation 3D avec les nouveaux fichiers restart et les réglages suivant : dans '''callphys.def''' :&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;            traceur = true&lt;br /&gt;
            calltherm = true&lt;br /&gt;
            # thermal plume model options:&lt;br /&gt;
            divmpl = true&lt;br /&gt;
            r_aspect_thermals = 2.0&lt;br /&gt;
            tau_thermals      = 0.0&lt;br /&gt;
            betalpha          = 0.9&lt;br /&gt;
            afact             = 0.7&lt;br /&gt;
            fact_epsilon      = 2.e-4&lt;br /&gt;
            alpha_max         = 0.7&lt;br /&gt;
            fomass_max        = 0.5&lt;br /&gt;
            pres_limit        = 2.e5&lt;br /&gt;
            water             = true&lt;br /&gt;
            watercond         = true&lt;br /&gt;
            waterain          = true&lt;br /&gt;
            evap_prec         = true&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dans '''run_icosa.def''' : &amp;lt;code&amp;gt;nqtot = 2&amp;lt;/code&amp;gt; dans '''traceur.def''' :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;               2&lt;br /&gt;
               h2o_vap&lt;br /&gt;
               h2o_ice&amp;lt;/pre&amp;gt;&lt;br /&gt;
Enfin, ajouter la déclaration et l'écriture des variables relatives à l'utilisation du schéma des thermiques (&amp;lt;code&amp;gt;h2o_vap&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;h2o_ice&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;w_plm&amp;lt;/code&amp;gt;) dans les fichiers XML de la physique.&lt;br /&gt;
&lt;br /&gt;
== H) Rotation ==&lt;br /&gt;
&lt;br /&gt;
Dans [name_of_planet]_const.def, changer le taux de rotation.&lt;br /&gt;
&lt;br /&gt;
Cela n'a jamais été testé avec 0, mais cela pourrait créer des problèmes (ex: beta). ''vérifier que omega dans saturn_const.def n'intervient pas dans la physique LMDZ.GENERIC/libf/phystd/''&lt;br /&gt;
&lt;br /&gt;
== I) Appel à la physique ==&lt;br /&gt;
&lt;br /&gt;
Il faut changer à ''deux endroits'' en réglant la même valeur: - dans run_icosa.def, changer itau_physics ; - dans run.def, changer iphysiq. Ces paramètres sont exprimés en pas de temps dynamique. Pour appeler la physique à chaque pas de temps dynamique, régler ces paramètres à 1.&lt;br /&gt;
&lt;br /&gt;
= 5. Ecriture des fichiers =&lt;br /&gt;
&lt;br /&gt;
== A) Nombre d'écriture dans chaque Xhistins.nc ==&lt;br /&gt;
&lt;br /&gt;
Prenons l'exemple de l'écriture d'un fichier sur une simu Uranus pour 1000j&lt;br /&gt;
&lt;br /&gt;
Nombre d'écriture = day_step X ndays/(itau_physics X output_freq)&lt;br /&gt;
&lt;br /&gt;
* ndays = 1000&lt;br /&gt;
* day_step = 200&lt;br /&gt;
* itau_physics = 50&lt;br /&gt;
* output_freq = 200&lt;br /&gt;
&lt;br /&gt;
On a 20 sorties tous les 1000 jours.&lt;br /&gt;
&lt;br /&gt;
Globalement, il est conseillé d'avoir 800 à 1000 sorties minimum par année planétaire (voir beaucoup plus en fonction de votre étude).&lt;br /&gt;
&lt;br /&gt;
== B) Ajouter une variable ==&lt;br /&gt;
&lt;br /&gt;
Pour ajouter une variable dans le fichier de sortie Xhistins.nc, il faut l'ajouter dans le field_group correspondant et s'assurer que cette variable est présente en tant que variable de sortie dans dynamico-giant/code/LMDZ.GENERIC/libf/phystd/physiq_mod.F90. Si ce n'est pas le cas, il faut faire un call writediagfi de la variable puis l'ajouter dans un call send_xios_field.&lt;br /&gt;
&lt;br /&gt;
== C) Forcer XIOS à écrire tous les .... ==&lt;br /&gt;
&lt;br /&gt;
Il faut utiliser l'attribut (ici par ex pour forcer l'écriture tous les ts (==time step) ; d'autres délais doivent être possible): &amp;lt;code&amp;gt;sync_freq=&amp;amp;quot;1ts&amp;amp;quot;&amp;lt;/code&amp;gt; dans le &amp;lt;code&amp;gt;&amp;amp;lt;file id=... .... &amp;amp;gt;&amp;lt;/code&amp;gt; concerné.&lt;br /&gt;
&lt;br /&gt;
== D) XIOS server ou client ==&lt;br /&gt;
&lt;br /&gt;
# XIOS client &amp;lt;code&amp;gt;use_server=False&amp;lt;/code&amp;gt; Broadwell 24 processeurs sur 28&lt;br /&gt;
# XIOS server &amp;lt;code&amp;gt;use_server=true&amp;lt;/code&amp;gt; Broadwell 24 processurs sur 28 + 4 processeurs pour XIOS&lt;br /&gt;
&lt;br /&gt;
Le cas 1 est 3 min plus lent que le cas 2 -- sur 2h20...(!) parce qu'on fait peu de sorties.&lt;br /&gt;
&lt;br /&gt;
= 6. Running the model =&lt;br /&gt;
&lt;br /&gt;
== A) Compilation ==&lt;br /&gt;
&lt;br /&gt;
Pour compiler le modèle, il suffit d'aller dans le dossier avec vos fichiers .def et .xml et d'utiliser le script compile_occigen.sh si on est sur occigen ou compile_ciclad.sh si on est sur ciclad&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;./compile_occigen.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les options qui peuvent être modifiées/ajoutées sont - -s : le nombre de scatterers - -parallel: mpi ou mpi_omp - -arch: le nom du ficher d'architecture - -arch_path: le chemin vers ce fichier - -job: 8 (conseillé) - -full: compile le code entièrement - -debug: pour trouver un éventuel bug. A ENLEVER obligatoirement s'il n'y a plus de bug car multiplie par 5 votre temp de calcul.&lt;br /&gt;
&lt;br /&gt;
En 1D, d'autres options sont nécessaires: - -t: nombre de traceurs - -d: nombre de niveaux verticaux - -parallel: none (en 1D uniquement)&lt;br /&gt;
&lt;br /&gt;
=== - Versions fonctionnelles de dynamico-giant ===&lt;br /&gt;
&lt;br /&gt;
'''Jupiter''' - XIOS revision 1583&amp;lt;br /&amp;gt;&lt;br /&gt;
- ICOSAGCM revision 756&amp;lt;br /&amp;gt;&lt;br /&gt;
- IOIPSL revision 339&amp;lt;br /&amp;gt;&lt;br /&gt;
- FCM_V1.2 revision 12&amp;lt;br /&amp;gt;&lt;br /&gt;
- Physics revision 2228 (LMDZ.COMMON, LMDZ.GENERIC, ICOSA_LMDZ, ARCH)&lt;br /&gt;
&lt;br /&gt;
but check Physics version 2142 and 2180&lt;br /&gt;
&lt;br /&gt;
'''Saturne (référence Spiga 2020, à vérifier)''' - DYNAMICO --&amp;amp;gt; Revision: 756 - PHYSICS --&amp;amp;gt; Revision: 2005 - XIOS --&amp;amp;gt; Revision: 1583 - IOIPSL --&amp;amp;gt; Revision: 310?&lt;br /&gt;
&lt;br /&gt;
'''Saturne (simulation de référence sur 61 niveaux, Bardet et al. Icarus 2021)''' - XIOS revision 1583&amp;lt;br /&amp;gt;&lt;br /&gt;
- ICOSAGCM revision 765&amp;lt;br /&amp;gt;&lt;br /&gt;
- IOIPSL revision 310&amp;lt;br /&amp;gt;&lt;br /&gt;
- FCM_V1.2 revision 12&amp;lt;br /&amp;gt;&lt;br /&gt;
- Physics revision 2005 (LMDZ.COMMON, LMDZ.GENERIC, ICOSA_LMDZ, ARCH)&lt;br /&gt;
&lt;br /&gt;
'''Saturne (simulation avec la GWD paramétrisation sur 61 niveaux, chapitre 6 PhD Bardet)''' - XIOS revision 1583&amp;lt;br /&amp;gt;&lt;br /&gt;
- ICOSAGCM revision 765&amp;lt;br /&amp;gt;&lt;br /&gt;
- IOIPSL revision 310&amp;lt;br /&amp;gt;&lt;br /&gt;
- FCM_V1.2 revision 12&amp;lt;br /&amp;gt;&lt;br /&gt;
- Physics revision 2213 (LMDZ.COMMON, LMDZ.GENERIC, ICOSA_LMDZ, ARCH)&lt;br /&gt;
&lt;br /&gt;
'''Saturne (simulation sur 96 niveaux, Bardet et al. Nature Astronomy 2022)''' - XIOS revision 1583&amp;lt;br /&amp;gt;&lt;br /&gt;
- ICOSAGCM revision 765&amp;lt;br /&amp;gt;&lt;br /&gt;
- IOIPSL revision 431&amp;lt;br /&amp;gt;&lt;br /&gt;
- FCM_V1.2 revision 12&amp;lt;br /&amp;gt;&lt;br /&gt;
- Physics revision 2305 (LMDZ.COMMON, LMDZ.GENERIC, ICOSA_LMDZ, ARCH)&lt;br /&gt;
&lt;br /&gt;
'''Saturne (simulation avec la GWD paramétrisation sur 96 niveaux, chapitre 6 PhD Bardet)''' - XIOS revision 1583&amp;lt;br /&amp;gt;&lt;br /&gt;
- ICOSAGCM revision 765&amp;lt;br /&amp;gt;&lt;br /&gt;
- IOIPSL revision 431&amp;lt;br /&amp;gt;&lt;br /&gt;
- FCM_V1.2 revision 12&amp;lt;br /&amp;gt;&lt;br /&gt;
- Physics revision 2403 (LMDZ.COMMON, LMDZ.GENERIC, ICOSA_LMDZ, ARCH)&lt;br /&gt;
&lt;br /&gt;
'''Uranus &amp;amp;amp; Neptune (old version)''' - XIOS revision 1944 - ICOSAGCM revision 765 - IOIPSL revision 431 - FCM_V1.2 revision 12&amp;lt;br /&amp;gt;&lt;br /&gt;
- Physics revision 2413 (LMDZ.COMMON, LMDZ.GENERIC, ICOSA_LMDZ, ARCH)&lt;br /&gt;
&lt;br /&gt;
'''Uranus &amp;amp;amp; Neptune (new version)''' - XIOS revision 2203 - ICOSAGCM revision (20/08/2021) - IOIPSL revision 450 - FCM_V1.2 revision 12&amp;lt;br /&amp;gt;&lt;br /&gt;
- Physics revision 2555 (LMDZ.COMMON, LMDZ.GENERIC, ICOSA_LMDZ, ARCH)&lt;br /&gt;
&lt;br /&gt;
'''Jupiter, Saturne, Uranus &amp;amp;amp; Neptune [OCCIGEN VERSION]''' - XIOS revision 2319 - ICOSAGCM revision (90f7138a60ebd3644fbbc42bc9dfa22923386385) - IOIPSL revision 453 - FCM_V1.2 revision 12&amp;lt;br /&amp;gt;&lt;br /&gt;
- Physics revision 2655 (LMDZ.COMMON, LMDZ.GENERIC, ICOSA_LMDZ, ARCH)&lt;br /&gt;
&lt;br /&gt;
'''Jupiter, Saturne, Uranus &amp;amp;amp; Neptune [IRENE VERSION]''' - XIOS revision 2399 - ICOSAGCM revision (4fbd393a9051fd9c1a5b662683f6ad8d0dc2867c) - IOIPSL revision 6234 - FCM_V1.2 revision 12&amp;lt;br /&amp;gt;&lt;br /&gt;
- Physics revision 2842 (LMDZ.COMMON, LMDZ.GENERIC, ICOSA_LMDZ, ARCH)&lt;br /&gt;
&lt;br /&gt;
== B) Run 1D ==&lt;br /&gt;
&lt;br /&gt;
Pour une simulation 1D, 1 seul CPU suffit.&lt;br /&gt;
&lt;br /&gt;
To run on Occigen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sbatch job_mpi&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To run on Irene:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ccc_msub job_mpi&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To see evolution of your job on Occigen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;squeue -u username&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To see evolution of your job on Irene:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ccc_mpp -u username&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To kill your job on Occigen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;scancel id_of_your_job&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To kill your job on Irene:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ccc_mdel id_of_your_job&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Une fois que votre simulation est fini, lancer le script python printapbp.py qui vous permettra d'obtenir les fichiers apbp.txt et temp_profile.txt nécessaires pour les simulations en 3D.&lt;br /&gt;
&lt;br /&gt;
== C) Run 3D ==&lt;br /&gt;
&lt;br /&gt;
Pour lancer une première simulation, il faut tout d'abord le faire une seule fois dans le dossier makestart de l'un des dossiers jupiter, saturne, uranus ou neptune. Ce dernier permettra de créer les premiers fichiers restart_icosa.nc et restartfi.nc. Ensuite, il suffit revenir dans le dossier parent (jupiter, saturne, uranus, neptune) et de lancer ses simulations.&lt;br /&gt;
&lt;br /&gt;
=== - MPI ===&lt;br /&gt;
&lt;br /&gt;
Avant de lancer une simulation, il est nécessaire de déterminer - le nombre de procs - le nombre de noeuds&lt;br /&gt;
&lt;br /&gt;
Il faut avant tout savoir qu'il y a 10 x nsplit_i x nsplit_j domaines. Ces domaines sont divisés en plusieurs cellules. Il y a (nbp)²/(nsplit_i x nsplit_j) cellules par domaine. Ce nombre est égal au nombre de MPI process.&lt;br /&gt;
&lt;br /&gt;
Il est important de ne pas faire des tuiles &amp;amp;quot;trop petites&amp;amp;quot; et donc de garder nsplit_i et nsplit_j tels que nbp/nsplit_{i,j} &amp;amp;gt;=10-15 (plutôt 15). Car il y a des calculs &amp;amp;quot;redondants&amp;amp;quot; faits sur les bords du domaine. Admettons que ton domaine soit 10 x 10 (100 cellules par domaine). Le nombre de cellules au bord du domaine est égal à 2 x nsplit_i + 2 x nsplit_j - 4. Dans ce cas, le nombre de cellules au bord est de 36. Cela signifie que le bord du domaine correspond à 36% du domaine (36 points sur 100). Si le domaine est 15 x 15, alors le bord du domaine n'est plus que de 24.8 %. On aimerait avoir des domaines les plus grands possibles mais il faut aussi voir que chaque cellule correspond à une colonne à résoudre... Et c'est là ou il faut expérimenter un peu pour trouver l'optimum entre le nombre total de proc à employer et le gain effectif (temps total &amp;amp;quot;facturé&amp;amp;quot; au vu du nombre de procs monopolisés pour une simu donnée). Ehouarn&lt;br /&gt;
&lt;br /&gt;
Il faut au total que le nombre de procs soit égal à 10 x nsplit_i x nsplit_j qu'il faut répartir entre les noeuds.&lt;br /&gt;
&lt;br /&gt;
Pour les noeuds, il faut tenir compte qu'un noeud sur Occigen, c'est 24 (ou 28) procs. Disons 24. Quand on demande N procs, le système te donne M noeuds, soit M X 24 procs (les noeuds ne sont pas partagés avec d'autres applications). Et bien sûr on te facturera ces M noeuds, même si tu n'utilises pas tous les procs. Donc il faut s'efforcer de tomber juste et demander un multiple de 24 procs. Même raisonement si tu demandes à utiliser des noeuds de 28 procs.&lt;br /&gt;
&lt;br /&gt;
Par exemple, nsplit_i = 4 et nsplit_j = 6. 4 x 6 est égal à 24. On utilisera donc 10 noeuds pour avoir 240 nprocs.&lt;br /&gt;
&lt;br /&gt;
Prenons un autre exemple. nsplit_i = 5 et nsplit_j = 6. 5x6 = 30 Or il y a 24 procs par noeuds. Il faudra utiliser 13 noeuds. Et ce ne sont pas 300 procs qui seront facturés au total mais 312.&lt;br /&gt;
&lt;br /&gt;
Mais comme vu plus haut, en fonction de la configuration de tes domaines, il est possible que le 2nd exemple coûte moins cher en heure CPU que le 1er exemple car il sera plus rapide.&lt;br /&gt;
&lt;br /&gt;
=== - OpenMP / MPI ===&lt;br /&gt;
&lt;br /&gt;
Dans le cas mixte OpenMP/MPI, il est nécessaire de renseigner le nombre de tâche OpenMP et de MPI threads. Dans le script pour le job, on a :&lt;br /&gt;
&lt;br /&gt;
cpus-per-task et OMP_NUM_THREADS correspondent au nombre de tâche OpenMP ntask-per-node correspond au nombre de tâche par noeud&lt;br /&gt;
&lt;br /&gt;
Pour déterminer la configuration à utiliser en OpenMP/MPI, il faut respecter ces règles: - ntask-per-node x nodes correspond au nombre total de MPI threads qu'il devrait y avoir (c'est-à-dire dans le cas MPI seul). - cpus-per-task x ntask-per-node doit être égale ou inférieur au nombre de procs par noeuds (24 ou 28- sur Occigen) - cpus-per-task devrait être ~égal au nombre de niveaux verticaux / 10 - OMP_NUM_THREADS doit être égal au cpus-per-task - omp_level_size (dans le fichier run_icosa.def) devrait être ~égal au nombre de cpus-per-task. (dans le cas MPI seul, il faut le laisser égal à 1)&lt;br /&gt;
&lt;br /&gt;
Au total, le nombre total de nprocs est égal à cpus-per-task x ntask-per-node x nodes&lt;br /&gt;
&lt;br /&gt;
En reprenant le premier exemple MPI (on suppose qu'on a 40 niveaux verticaux), on aura - cpus-per-task = 4 - ntask-per-norde = 6 On a bien cpus-per-task x ntask-per-norde &amp;amp;lt;= 24. Le nombre de noeuds doit être égal à 40 car 6x40 = 240 nprocs MPI Le nombre de procs qu'on utilisera au total sera de 960.&lt;br /&gt;
&lt;br /&gt;
=== - Comment déterminer le nombre d'heure CPU (consommation en heure)? ===&lt;br /&gt;
&lt;br /&gt;
Heures CPU = durée_de_la_simu X nombre de procs total facturé&lt;br /&gt;
&lt;br /&gt;
Si on veut connaître le nombre d'heure CPU qu'on consommera à partir d'un test, voici le calcul&lt;br /&gt;
&lt;br /&gt;
Heures CPU = durée_de_la_simu_test X nombre de procs total facturé X nombre de jour qu'on veut simulé / (nombre de jour simulées pendant la simu test)&lt;br /&gt;
&lt;br /&gt;
== D) Optimisation ==&lt;br /&gt;
&lt;br /&gt;
Pour savoir quelle est la meilleure configuration en MPI seul, en OpenMP/MPI et entre les 2, des tests ont été effectués. Ces tests ont été réalisés sur Uranus à nbp80 sur les noeuds Broadwell (28 procs par noeud). 1000 jours uraniens ont été simulés à chaque fois.&lt;br /&gt;
&lt;br /&gt;
'''MPI:''' [[File:fig1.png]]&lt;br /&gt;
&lt;br /&gt;
'''OpenMP/MPI:''' [[File:fig2.png]]&lt;br /&gt;
&lt;br /&gt;
La comparaison du MPI seul et du mixte OpenMP/MPI permet de tirer la conclusion que le mixte OpenMP/MPI est beaucoup plus rapide (facteur 2.5 à 3) mais consomme plus (facteur 1.1 à 1.7).&lt;br /&gt;
&lt;br /&gt;
[[File:fig3.png]]&lt;br /&gt;
&lt;br /&gt;
== E) Visualizing the output files ==&lt;br /&gt;
&lt;br /&gt;
=== - Comment comparer deux fichiers? file1.nc file2.nc ===&lt;br /&gt;
&lt;br /&gt;
ncdiff file1.nc file2.nc output.nc&lt;br /&gt;
&lt;br /&gt;
=== - Comment coller plusieurs fichiers file1.nc file2.nc file3.nc ===&lt;br /&gt;
&lt;br /&gt;
ncrcat file1.nc file2.nc file3.nc output.nc&lt;br /&gt;
&lt;br /&gt;
Avec juste la vitesse u et v: ncrcat -v u -v v file1.nc file2.nc file3.nc output.nc&lt;br /&gt;
&lt;br /&gt;
Avec tous les fichiers fileXXX.nc disponibles ncrcat file*.nc output.nc&lt;br /&gt;
&lt;br /&gt;
=== - Comment tracer les champs et divers diagnostics en moyenne zonale? ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;mettre à jour planetoplot et planets&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;utiliser precast.py dans planetoplot/examples/ppclass_additional/dynanalysis&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;changer les options au début (il y a des exemples), exemple pour Saturne&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;fileAP=&amp;quot;Xhistins_42.nc&amp;quot;&lt;br /&gt;
p_upper,p_lower,nlev = 4.0e2,2.5e5,40&lt;br /&gt;
targetp1d = np.logspace(np.log10(p_lower),np.log10(p_upper),nlev)&lt;br /&gt;
myp = planets.Saturn&lt;br /&gt;
day_per_year = 24430.&lt;br /&gt;
short = False&lt;br /&gt;
includels = False&lt;br /&gt;
charx = &amp;quot;0,360&amp;quot;&lt;br /&gt;
ispressure = False&lt;br /&gt;
vartemp = &amp;quot;temperature&amp;quot;&lt;br /&gt;
outfile = &amp;quot;precast.nc&amp;quot;&lt;br /&gt;
nopole = True&amp;lt;/source&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Il faut que apbp.txt soit présent !&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Le résultat se trouve dans le fichier indiqué dans outfile.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== F) Debug ==&lt;br /&gt;
&lt;br /&gt;
=== - Pour debugger ===&lt;br /&gt;
&lt;br /&gt;
Réglez &amp;lt;code&amp;gt;info_level&amp;lt;/code&amp;gt; à &amp;lt;code&amp;gt;100&amp;lt;/code&amp;gt; dans le fichier &amp;lt;code&amp;gt;iodef.xml&amp;lt;/code&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
=== - Erreur en début de run, SEGMENTATION FAULT dans la routine &amp;lt;code&amp;gt;advect.f90&amp;lt;/code&amp;gt; (ICOSAGCM/ppsrc/transport) au niveau de l'appel à &amp;lt;code&amp;gt;cross_product2&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
La routine &amp;lt;code&amp;gt;cross_product2&amp;lt;/code&amp;gt; effectue des produits vectoriels. Cette erreur vient du fait qu'en essayant de faire des optimisations de calcul, le compilateur se prend &amp;amp;quot;les pieds dans le tapis&amp;amp;quot; et ne sait plus faire le produit vectoriel. Pour empêcher le compilateur de faire des optimisations trop poussées, il faut ajouter l'option &amp;lt;code&amp;gt;-fp-model strict&amp;lt;/code&amp;gt; au niveau du mot-clé &amp;lt;code&amp;gt;%BASE_FFLAGS&amp;lt;/code&amp;gt; dans tous les fichiers &amp;lt;code&amp;gt;.fcm&amp;lt;/code&amp;gt; du modèle (LMDZ.COMMON / ICOSAGCM / ICOSA_LMDZ).&lt;br /&gt;
&lt;br /&gt;
== G) Pas de radiatif et perturbations ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;faire descendre le modèle&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;modifier le code pour perturbations vitesse et pas température&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;compiler (voir README.md)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;changer dans callphys.def (dans saturn/makestart)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;surfalbedo = 1.0&lt;br /&gt;
surfemis = 0.0&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;changer dans callphys.def (dans saturn '''et''' saturn/makestart)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;corrk      = .false.&lt;br /&gt;
enertest  = .true.&lt;br /&gt;
randompert = 1&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;voir si on garde le flux interne ou non (&amp;lt;code&amp;gt;intheat&amp;lt;/code&amp;gt;)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;refaire les états initiaux (dans makestart)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;faire un run court pour voir sur les spectres l'injection d'Ek&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== H) PROFILING with DYNAMICO-Giant ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;-pg&amp;lt;/code&amp;gt;: Generate extra code to write profile information suitable for analysis program &amp;lt;code&amp;gt;gprof&amp;lt;/code&amp;gt;. You must use this option when compiling the sources files you want data about and you must '''also use it when linking'''. 1. For DYNAMICO-Giant: in the arch.fcm file of each part of the model (ICOSAGCM, ICOSA_LMDZ, LMDZ.COMMON and XIOS), you have to add the option &amp;lt;code&amp;gt;-pg&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;%PROD_FFLAGS&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;%BASE_LD&amp;lt;/code&amp;gt; 2. Compile as usual 3. Execute your code as usual 4. Run &amp;lt;code&amp;gt;gprof&amp;lt;/code&amp;gt; tool:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    gprof icosa_lmdz.exe goon.out &amp;amp;gt; analysis.txt&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Aspiga</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Dynamico-giant&amp;diff=1168</id>
		<title>Dynamico-giant</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Dynamico-giant&amp;diff=1168"/>
				<updated>2023-01-24T10:18:25Z</updated>
		
		<summary type="html">&lt;p&gt;Aspiga: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[transferred from github, now active here]&lt;br /&gt;
&lt;br /&gt;
= 1. Introduction =&lt;br /&gt;
&lt;br /&gt;
&amp;amp;quot;Welcome to the dynamico-giant wiki&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dynamico-giant est un dépôt git qui permet d'installer le modèle Dynamico avec les fichiers de configs propres aux planètes géantes gazeuses et géantes glacées. Ci-dessous, vous trouverez presque (car nous ne sommes pas parfaits) toutes les informations sur l'installation, la compilation du modèle et les paramètres que vous pouvez modifier pour faire tourner le modèle.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;quot;Allons-y!&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
= 2. Installation =&lt;br /&gt;
&lt;br /&gt;
== A) Fichiers d'architecture ==&lt;br /&gt;
&lt;br /&gt;
=== - Modules ===&lt;br /&gt;
&lt;br /&gt;
Before installation, set environment (do it once) in your .bash_profile.&lt;br /&gt;
&lt;br /&gt;
Modules used on Occigen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ulimit -s unlimited&lt;br /&gt;
# modules&lt;br /&gt;
module purge&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;
module load ncview&lt;br /&gt;
module load nco&lt;br /&gt;
module load qt&lt;br /&gt;
module load python&amp;lt;/pre&amp;gt;&lt;br /&gt;
Modules used on Ciclad:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ulimit -s unlimited&lt;br /&gt;
# modules&lt;br /&gt;
module purge&lt;br /&gt;
module load gnu/4.9.3 &lt;br /&gt;
module load intel/15.0.6.233&lt;br /&gt;
module load openmpi/1.6.5-ifort&lt;br /&gt;
module load hdf5/1.8.18-parallel-ifort&lt;br /&gt;
module load netcdf4/4.4.1.1-parallel-ifort&amp;lt;/pre&amp;gt;&lt;br /&gt;
Beware, if you change version of model (newer or older version), it's possible that you have to change modules...&lt;br /&gt;
&lt;br /&gt;
=== - Installation sur un nouveau cluster ===&lt;br /&gt;
&lt;br /&gt;
En pratique LMDZ.COMMON, ICOSA_LMDZ et IOIPSL peuvent utiliser exactement le même fichier arch.fcm ; mais celui pour ICOSAGCM est légèrement différent (les %FPP_DEF diffèrent, peut-être aussi le %FPP).&lt;br /&gt;
&lt;br /&gt;
make_icosa_lmdz doit être lancé avec -arch_path ../ARCH puisque les arch.env et arch.path communs se trouvent dans ../ARCH (l'option -arch_path ne concerne d'ailleurs que les fichiers arch.env et arch.path; le fichier arch.fcm recherché sera toujours celui dans le &amp;amp;quot;arch&amp;amp;quot; de chacun des modèles. Donc il faut bien mettre pour chacun des quatre modèles (LMDZ.COMMON, ICOSA_LMDZ,IOIPSL et ICOSAGCM) le arch.fcm dans le sous-dossier arch/ du modèle correspondant.&lt;br /&gt;
&lt;br /&gt;
L'installation d'IOIPSL doit se faire à partir du bon script bash. Si vous utilisez un server autre qu'occigen, il vous faut changer le nom du script à utiliser dans install_ioipsl.sh. Par exemple, il vous faudra utiliser install_ioipsl_ciclad-ifort.bash pour CICLAD.&lt;br /&gt;
&lt;br /&gt;
XIOS est écrit en C++, et pas en Fortran. Le fichier arch.fcm correspondant est donc nécessairement différent de celui des quatre autres modèles. Pour créér ce arch.fcm, prendre exemple sur les fichiers .fcm déjà présent dans XIOS/arch/, avec une architecture similaire à celle du nouveau cluster. En particulier, il faut utiliser des versions de gcc/gfortran &amp;amp;gt; 6+. Il faut absolument avoir une bibliothèque HDF5 compilée en parallèle, ainsi que netcdf-C et netcdf-fortran (et peut être aussi netcdf-Cxx) compilé en parallèle. Sans ça, il sera peut-être possible de compiler le modèle, mais pas de lancer une simulation en utilisant XIOS.&lt;br /&gt;
&lt;br /&gt;
== B. Download ==&lt;br /&gt;
&lt;br /&gt;
Download structure&lt;br /&gt;
&lt;br /&gt;
Take place on a repository and git clone the model.&lt;br /&gt;
&lt;br /&gt;
On occigen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;cd $SCRATCHDIR&lt;br /&gt;
git clone https://github.com/aymeric-spiga/dynamico-giant.git [optional different name]&amp;lt;/pre&amp;gt;&lt;br /&gt;
== C. Install ==&lt;br /&gt;
&lt;br /&gt;
Install code&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;cd dynamico-giant&lt;br /&gt;
./install.sh&lt;br /&gt;
./install_ioipsl.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
A login and a password are necessary to install IOIPSL (only for the first time, after that we can save them). Please contact TGCC computing center to get the login/password.&lt;br /&gt;
&lt;br /&gt;
After that, please add &amp;amp;quot;$PWD&amp;amp;quot;/FCM_V1.2/bin/ to PATH environment variable.&lt;br /&gt;
&lt;br /&gt;
Ant that's all, we can now change parameters of files or compile the code to do a test (part 6) or eat a beautiful tartiflette (can be also do during compilation).&lt;br /&gt;
&lt;br /&gt;
= 3. General parameters =&lt;br /&gt;
&lt;br /&gt;
== A) Mesh grid &amp;amp;amp; resolution ==&lt;br /&gt;
&lt;br /&gt;
On run_icosa.def:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;nbp --&amp;amp;gt; number of subdivision on a main triangle: integer (default=40)&lt;br /&gt;
        nbp = sqrt((nbr_lat x nbr_lon)/10)&lt;br /&gt;
        nbp                 20  40  80 160&lt;br /&gt;
        T-edge length (km) 500 250 120  60&lt;br /&gt;
        Example: nbp(128x96)=35 -&amp;amp;gt; 40&lt;br /&gt;
                 nbp(256x192)=70 -&amp;amp;gt; 80&lt;br /&gt;
                 nbp(360x720)=160 -&amp;amp;gt; 160&lt;br /&gt;
nsplit_i, nsplit_j --&amp;amp;gt; sub splitting of main rhombus: integer&lt;br /&gt;
                        Example: for nbp=80, nsplit_i=4,nsplit_j=6&lt;br /&gt;
                        nbp/nsplit_{i,j} = 20 &amp;amp;gt; 10 &amp;amp;amp; 13 &amp;amp;gt; 10 --&amp;amp;gt; GOOD&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== - Remapping ===&lt;br /&gt;
&lt;br /&gt;
Pour le remapping, il faut aller dans context_lmdz_physics.xml changer les paramètres ni_glo et nj_glo par exemple pour remapper sur du lat/lon à 360 pts en latitude et 720 pts en longitude (0.5°).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;amp;lt;domain id=&amp;amp;quot;dom_regular&amp;amp;quot; ni_glo=&amp;amp;quot;720&amp;amp;quot; nj_glo=&amp;amp;quot;360&amp;amp;quot; type=&amp;amp;quot;rectilinear&amp;amp;quot;&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== B) Time ==&lt;br /&gt;
&lt;br /&gt;
* ndays is number of days to simulate.&lt;br /&gt;
* day_step is number of dynamical time step per day&lt;br /&gt;
* Dynamics called every day_length(in s) / day_step per day&lt;br /&gt;
* 1 ts (physical timestep) = (day_length(in s)/day_step) x itau_physics&lt;br /&gt;
* Physics called (day_step / itau_physics) per day&lt;br /&gt;
* Physics called day_length(in s) / ts per day&lt;br /&gt;
* Radiative called every Physics x iradia physical timestep&lt;br /&gt;
* Radiative called every iradia/Physics days&lt;br /&gt;
&lt;br /&gt;
== C) Sponge layer ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;iflag_sponge=0 for no sponge (default)&lt;br /&gt;
iflag_sponge=1 for sponge over 4 topmost layers&lt;br /&gt;
iflag_sponge=2 for sponge from top to ~1% of top layer pressure&lt;br /&gt;
mode_sponge=1 for u,v --&amp;amp;gt; 0&lt;br /&gt;
mode_sponge=2 for u,v --&amp;amp;gt; zonal mean&lt;br /&gt;
mode_sponge=3 for u,v,h --&amp;amp;gt; zonal mean&lt;br /&gt;
tau_sponge --&amp;amp;gt; damping frequency at last layer&lt;br /&gt;
           --&amp;amp;gt; e-5 medium / e-4 strong yet reasonable / e-3 very strong&amp;lt;/pre&amp;gt;&lt;br /&gt;
Spiga et al (2020): Shaw and Shepherd (2007) showed that the inclusion of sponge-layer parameterizations that do not conserve angular momentum (which is the case for Rayleigh drag), or allow for momentum to escape to space, implies a sensitivity of the dynamical results (especially zonal wind speed) to the choice for model top or drag characteristic timescale, because of spurious downward influence when momentum conservation is violated.&lt;br /&gt;
&lt;br /&gt;
Il ne faut donc pas ajouter de sponge layer pour les planètes géantes (iflag_sponge = 0)&lt;br /&gt;
&lt;br /&gt;
== D) Dissipation ==&lt;br /&gt;
&lt;br /&gt;
Spiga et al (2020): A subgrid-scale dissipation term is included in our Saturn DYNAMICO GCM to prevent the accumulation of energy at scales close to the grid resolution, caused by the GCM not resolving the turbulent scales at which this energy is dissipated. This hyperviscosity term is written in our Saturn DYNAMICO model as an iterated Laplacian term on a given variable. The three variables denoted are vorticity, divergence, and potential temperature, chosen to set horizontal dissipation on respectively the rotational component of the flow (e.g. Rossby waves), the divergent component of the flow (e.g. gravity waves), and the diabatic perturbations (e.g. coming from the physical packages).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;tau_graddiv --&amp;amp;gt; dissipation timescale of smallest wvl: u,v (gradiv) : real (default=5000)&lt;br /&gt;
tau_gradrot --&amp;amp;gt; dissipation timescale of smallest wvl: u,v (nxgradrot) : real (default=5000)&lt;br /&gt;
tau_divgrad --&amp;amp;gt; dissipation timescale of smallest wvl: h (divgrad) : real (default=5000)&lt;br /&gt;
nitergdiv --&amp;amp;gt; number of iterations for gradiv operator : integer (default=1)&lt;br /&gt;
nitergrot --&amp;amp;gt; number of iterations for nxgradrot operator : integer (default=1)&lt;br /&gt;
niterdivgrad --&amp;amp;gt; number of iterations for divgrad operator : integer (default=1)&amp;lt;/pre&amp;gt;&lt;br /&gt;
tau_graddiv,tau_gradrot,tau_divgrad correspondent au temps de dissipation (plus c'est petit, plus la dissipation est efficace). nitergdiv,nitergrot,niterdivgrad correspondent à l'ordre du laplacien (plus c'est grand, plus on dissipe sélectivement les petites échelles).&lt;br /&gt;
&lt;br /&gt;
Attention, Trop dissiper -&amp;amp;gt; instabilité numérique&lt;br /&gt;
&lt;br /&gt;
Pas assez dissiper -&amp;amp;gt; instabilité dynamique trop forte&lt;br /&gt;
&lt;br /&gt;
L'ordre du laplacien dans les fichiers .def est suffisant. S'il faut changer la dissipation, il vaut mieux changer les temps de dissipation que l'ordre du laplacien (risque d'instabilité numérique).&lt;br /&gt;
&lt;br /&gt;
=== - Facteurs de dissipation ===&lt;br /&gt;
&lt;br /&gt;
A partir de ces valeurs de temps de dissipation, il est également possible d'ajouter 2 facteurs de dissipation (fac_mid et fac_up) qui permettent d'augmenter la dissipation à partir de certains niveaux. Le fac_mid permet de diminuer le temps de dissipation d'un facteur sur toute l'atmosphère jusqu'au bottom. Il y a une zone transition de quelques niveaux entre le bottom (le temp de dissipation au bottom est sans facteur) et quelques niveaux au-dessus où la valeur du temps de dissipation est avec ce facteur jusqu'au top. On ne peut donc pas choisir l'altitude et la zone de transition avec ce facteur. Quant au fac_up, il permet de diminuer le temps de dissipation d'un facteur à partir d'une altitude et d'une épaisseur de zone de transition qu'on peut choisir. On peut utiliser la combinaison des 2 ou l'un des 2. Pour ne pas prendre en compte ces facteurs de dissipation, il faut qu'il soit mis à 1.&lt;br /&gt;
&lt;br /&gt;
Il existe 2 modes possibles pour le fac_up: le mode martien (en fonction de l'altitude) et le mode vénusien (en fonction de la pression). Dans le 1er cas, il faut renseigner l'altitude où démarre la zone de transition et l'épaisseur de cette zone. Dans le 2ème cas, il faut renseigner la pression où démarre la zone de transition et l'échelle de hauteur de cette zone de transition.&lt;br /&gt;
&lt;br /&gt;
Il est vivement conseillé de tracer votre profil de dissipation à partir des équations (dans vert_prof_dissip_icosa_lmdz.f90) afin d'être certain de leur allure.&lt;br /&gt;
&lt;br /&gt;
== E) Rayleigh Friction ==&lt;br /&gt;
&lt;br /&gt;
Spiga et al 2020: This drag plays the role devoted to surface friction on terrestrial planets, which allows to close the angular momentum budget through downward control (Haynes and McIntyre, 1987; Haynes et al., 1991). This could also be regarded as a zeroth-order parameterization for Magneto-HydroDynamic (MHD) drag as a result of Lorenz forces acting on jet streams putatively extending to the depths of Saturn's interior (Liu et al., 2008; Galanti et al., 2019), much deeper than the shallow GCM's model bottom.&lt;br /&gt;
&lt;br /&gt;
Comme Liu and Schneider (2010), cette couche de frottement ne s'exerce pas aux régions équatoriales car à l’extérieur du cylindre tangeant du rayon équatorial, les cylindres convectifs ne coupent pas cette couche et ne subissent pas les frottements liés aux effets de la MHD.&lt;br /&gt;
&lt;br /&gt;
Le paramètre rayleigh_limlat correspond à la latitude maximale de part et d'autre de l'équateur où cette friction n'est pas observée.&lt;br /&gt;
&lt;br /&gt;
Pour le temps (rayleigh_friction_tau), il est similaire à celui utilisé par Liu and Schneider (2010). Elle est fixée à 100 jours terrestres. Mais attention, on fonction de la valeur, la dynamique peut évoluer dans votre simulation.&lt;br /&gt;
&lt;br /&gt;
== F) Conservation ==&lt;br /&gt;
&lt;br /&gt;
Dans run_icosa.def:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;check_conservation = detailed &lt;br /&gt;
itau_check_conserv = 320&amp;lt;/pre&amp;gt;&lt;br /&gt;
Le itau_check_conserv est comme itau_physics pour que la contribution de la physique à AAM ne soit pas nulle. de plus il est coûteux d'appeler les diagnostics trop souvent.&lt;br /&gt;
&lt;br /&gt;
S. Lebonnois, C. Covey, A. Grossman, H. Parish, G. Schubert, R. Walterscheid, P. Lauritzen, and C. Jablonowski. Angular momentum budget in General Circulation Models of superrotating atmospheres: A critical diagnostic. Journal of Geophysical Research (Planets), 117:E12004, 2012.&lt;br /&gt;
&lt;br /&gt;
P. H. Lauritzen, J. T. Bacmeister, T. Dubos, S. Lebonnois, and M. A. Taylor. Held-Suarez simulations with the Community Atmosphere Model Spectral Element (CAM-SE) dynamical core: A global axial angular momentum analysis using Eulerian and floating Lagrangian vertical coordinates. Journal of Advances in Modeling Earth Systems, 6:129-140, 2014.&lt;br /&gt;
&lt;br /&gt;
== G) Traceur ==&lt;br /&gt;
&lt;br /&gt;
=== - Branche master version du 04/04/2022 dans le dossier Jupiter (traceur) ===&lt;br /&gt;
&lt;br /&gt;
La version actuelle des fichiers de réglage dans le dossier Jupiter est réglée pour utiliser des traceurs. Si vous souhaiter utiliser le modèle sans traceur, il vous faut modifier les fichiers suivants :&lt;br /&gt;
&lt;br /&gt;
run_icosa.def&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;        nqtot = 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
traceur.def&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;        0&amp;lt;/pre&amp;gt;&lt;br /&gt;
context_dynamico.xml (ligne 125)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;         &amp;amp;lt;field id=&amp;amp;quot;q_start&amp;amp;quot; name=&amp;amp;quot;q&amp;amp;quot;  grid_ref=&amp;amp;quot;grid_q_start&amp;amp;quot; prec=&amp;amp;quot;8&amp;amp;quot;/&amp;amp;gt;   &amp;lt;/pre&amp;gt;&lt;br /&gt;
== H) Bottom du modèle ==&lt;br /&gt;
&lt;br /&gt;
* refaire tourner le 1D&lt;br /&gt;
** changer la pression &amp;lt;code&amp;gt;psurf&amp;lt;/code&amp;gt; dans rcm1d.def&lt;br /&gt;
** changer &amp;lt;code&amp;gt;ichoice=1&amp;lt;/code&amp;gt; et changer &amp;lt;code&amp;gt;tref&amp;lt;/code&amp;gt; (ex: 10b: 330K)&lt;br /&gt;
* refaire tourner le 3D (avec makestart) en changeant &amp;lt;code&amp;gt;preff&amp;lt;/code&amp;gt; dans &amp;lt;code&amp;gt;[nom_de_la_planète]_const.def&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 4. Physical parameterizations =&lt;br /&gt;
&lt;br /&gt;
== A) Cycle diurne ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;diurnal = .false.&amp;lt;/code&amp;gt; Car le temps radiatif est beaucoup plus long sur les planètes géantes.&lt;br /&gt;
&lt;br /&gt;
== B) Anneaux ==&lt;br /&gt;
&lt;br /&gt;
[Pour saturne uniquement] Il est possible d'ajouter l'ombre des anneaux dans le callphys.def:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;rings_shadow = .true.&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== C) Collision-induced absorption data ==&lt;br /&gt;
&lt;br /&gt;
L'absorption induite par collision est importante dans le transfet radiatif sur les planètes géantes, notamment celle provenant de H2. Cependant, le rapport ortho-para du H2 est différent selon les planètes et peut modifier fortement le chauffage sur ces planètes. Pour le cas des géantes gazeuses, le rapport ortho-para est normal (rapport 3:1). Mais pour le cas des géantes glacées, le rapport ortho-para est à l'équilibre. Par défaut, le rapport ortho-para est normal (H2orthopara_mixture = normal). Pour les géantes glacées, il faut mettre H2orthopara_mixture = equilibrium .&lt;br /&gt;
&lt;br /&gt;
Si vous voulez modifier le fichier utilisé dans un cas de CIA, il faut aller dans le code (dynamico-giant/code/LMDZ.GENERIC/libf/phystd/interpolate????.F90) et changer le nom du fichier (assurez-vous que ce fichier soit dans votre répertoire DATAGENERIC/continuum_data).&lt;br /&gt;
&lt;br /&gt;
Dans la version actuelle, il n'existe pas d'option qui permet de ne pas utiliser certaines contributions de CIA. Par exemple, si votre atmosphère est composé de H2, He et CH4 et que vous ne voulez pas des contributions venant du CH4, il vous faut commenter dans le modèle ces contributions.&lt;br /&gt;
&lt;br /&gt;
== D) K-correlated data ==&lt;br /&gt;
&lt;br /&gt;
Les fichiers k-corrélées doivent se situer dans votre répertoire DATAGENERIC/corrk_data .&lt;br /&gt;
&lt;br /&gt;
== E) Cpp mode ==&lt;br /&gt;
&lt;br /&gt;
cpp_mugaz_mode=0 pour que la valeur de cpp et de mugaz proviennent de la dynamique. cpp_mugaz_mode=1 pour forcer la valeur de cpp et de mugaz dans le callphys.def (à utiliser dans le makestart uniquement) cpp_mugaz_mode=2 pour calculer automatiquement à partir de données de références à 300 K et du gases.def (à éviter)&lt;br /&gt;
&lt;br /&gt;
== F) Generic n-layer aerosols (replaces the former 2-layer and NH3 cloud) ==&lt;br /&gt;
&lt;br /&gt;
Ce mode permet de créer des couches d'aérosols/nuages ayant une opacité (aeronlay_tauref) à une longueur d'onde donnée (aeronlay_lamref), un rayon de particule fixe (aeronlay_size) situés à une pression fixe et en fonction des propriétés optiques des particules (optprop_aeronlay_vis et optprop_aeronlay_ir). Pour le cas de l'altitude, on peut choisir soit (aeronlay_choice = 1) une pression max (aeronlay_ptop) et une pression min (aeronlay_pbot), soit (aeronlay_choice = 2) une pression min (aeronlay_pbot) et une échelle de hauteur (aeronlay_sclhght). On peut également choisir la variance effective pour les rayons de particules.&lt;br /&gt;
&lt;br /&gt;
Le nombre de couche de nuage (nlayero) est égal au nombre de scatterers dans la compilation (option -s ).&lt;br /&gt;
&lt;br /&gt;
Les fichiers de propriétés optiques doivent être dans votre DATAGENERIC.&lt;br /&gt;
&lt;br /&gt;
Un exemple pour 3 couches:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;aeronlay = .true.&lt;br /&gt;
nlayaero = 3&lt;br /&gt;
aeronlay_tauref       = 2.5 0.04 0.1&lt;br /&gt;
aeronlay_lamref       = 0.8e-6 0.8e-6 0.16e-6&lt;br /&gt;
aeronlay_choice       = 2 2 1&lt;br /&gt;
aeronlay_pbot         = 1.5e5 1.6e5 20.&lt;br /&gt;
aeronlay_ptop         = 1.1e5 1. 1.&lt;br /&gt;
aeronlay_sclhght      = 0.1 2.0 1&lt;br /&gt;
aeronlay_size         = 0.5e-6 0.05e-6 0.5e-6&lt;br /&gt;
aeronlay_nueff        = 0.3 0.3 0.3&lt;br /&gt;
optprop_aeronlay_vis  = optprop_aerosol2_vis.dat optprop_aerosol3_vis.dat optprop_carbon4_vis.dat&lt;br /&gt;
optprop_aeronlay_ir   = optprop_aerosol2_ir.dat optprop_aerosol3_ir.dat optprop_carbon4_ir.dat&amp;lt;/pre&amp;gt;&lt;br /&gt;
== G) Panaches thermiques ==&lt;br /&gt;
&lt;br /&gt;
# Comme pour toutes nouvelles simulations, il faut commencer par un run 1D de plusieurs décennies permettant d'obtenir un profil de température (&amp;lt;code&amp;gt;temp_profile.txt&amp;lt;/code&amp;gt;) et les coefficients ap et bp (&amp;lt;code&amp;gt;apbp.txt&amp;lt;/code&amp;gt;) en équilibre radiatif-convectif pour la planète que l'on étudie. Ce run 1D s'effectue dans les dossiers jupiter1d, saturn1d, neptune1d et/ou uranus1d, avec ces options pour le callphys.def :&lt;br /&gt;
&lt;br /&gt;
callrad = true calladj = true tous les autres mots clés à false (y compris &amp;lt;code&amp;gt;calltherm&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;2&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Faire un &amp;amp;quot;makestart&amp;amp;quot; run : permet d'obtenir les fichiers restart à partir du profil de température initial. Il s'agit du run dont l'état initial est le profil de température créé par run 1D (&amp;lt;code&amp;gt;temp_profile.txt&amp;lt;/code&amp;gt; est appliquer à chaque point de grille horizontale du modèle). L'état initial est ainsi une planète isotherme horizontalement mais qui varie verticalement. Pour ce run, aucun traceur ne va être utilisé dans le modèle. Néanmoins, il faut renseigner au modèle le nombre de traceurs que nous souhaitons utiliser avec le schéma des panaches thermiques afin qu'il puisse créer la dimension nq et le champ q dans les fichiers &amp;lt;code&amp;gt;restart_icosa.nc&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;restartfi.nc&amp;lt;/code&amp;gt;. dans '''callphys.def''' :&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;          traceur = true&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;dans '''run_icosa.def''' : &amp;lt;code&amp;gt;nqtot = 2&amp;lt;/code&amp;gt; (par exemple, h2o_vap et h2o_ice) dans '''traceur.def''' :&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;           2&lt;br /&gt;
           h2o_vap&lt;br /&gt;
           h2o_ice&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Ajout des quantités pour chaque traceur. Ici, nous ajoutons les profils pour chacun des traceurs dans les fichiers &amp;lt;code&amp;gt;restart_icosa.nc&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;restartfi.nc&amp;lt;/code&amp;gt; &amp;amp;quot;à la main&amp;amp;quot; en utilisant le programme python &amp;lt;code&amp;gt;/processing_codes/tracer_settings.py&amp;lt;/code&amp;gt; pour obtenir des fichiers restart avec la bonne abondance d'eau dans le cas présent.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Commencer la simulation : Il ne reste plus qu'à lancer la simulation 3D avec les nouveaux fichiers restart et les réglages suivant : dans '''callphys.def''' :&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;            traceur = true&lt;br /&gt;
            calltherm = true&lt;br /&gt;
            # thermal plume model options:&lt;br /&gt;
            divmpl = true&lt;br /&gt;
            r_aspect_thermals = 2.0&lt;br /&gt;
            tau_thermals      = 0.0&lt;br /&gt;
            betalpha          = 0.9&lt;br /&gt;
            afact             = 0.7&lt;br /&gt;
            fact_epsilon      = 2.e-4&lt;br /&gt;
            alpha_max         = 0.7&lt;br /&gt;
            fomass_max        = 0.5&lt;br /&gt;
            pres_limit        = 2.e5&lt;br /&gt;
            water             = true&lt;br /&gt;
            watercond         = true&lt;br /&gt;
            waterain          = true&lt;br /&gt;
            evap_prec         = true&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dans '''run_icosa.def''' : &amp;lt;code&amp;gt;nqtot = 2&amp;lt;/code&amp;gt; dans '''traceur.def''' :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;               2&lt;br /&gt;
               h2o_vap&lt;br /&gt;
               h2o_ice&amp;lt;/pre&amp;gt;&lt;br /&gt;
Enfin, ajouter la déclaration et l'écriture des variables relatives à l'utilisation du schéma des thermiques (&amp;lt;code&amp;gt;h2o_vap&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;h2o_ice&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;w_plm&amp;lt;/code&amp;gt;) dans les fichiers XML de la physique.&lt;br /&gt;
&lt;br /&gt;
== H) Rotation ==&lt;br /&gt;
&lt;br /&gt;
Dans [name_of_planet]_const.def, changer le taux de rotation.&lt;br /&gt;
&lt;br /&gt;
Cela n'a jamais été testé avec 0, mais cela pourrait créer des problèmes (ex: beta). ''vérifier que omega dans saturn_const.def n'intervient pas dans la physique LMDZ.GENERIC/libf/phystd/''&lt;br /&gt;
&lt;br /&gt;
== I) Appel à la physique ==&lt;br /&gt;
&lt;br /&gt;
Il faut changer à ''deux endroits'' en réglant la même valeur: - dans run_icosa.def, changer itau_physics ; - dans run.def, changer iphysiq. Ces paramètres sont exprimés en pas de temps dynamique. Pour appeler la physique à chaque pas de temps dynamique, régler ces paramètres à 1.&lt;br /&gt;
&lt;br /&gt;
= 5. Ecriture des fichiers =&lt;br /&gt;
&lt;br /&gt;
== A) Nombre d'écriture dans chaque Xhistins.nc ==&lt;br /&gt;
&lt;br /&gt;
Prenons l'exemple de l'écriture d'un fichier sur une simu Uranus pour 1000j&lt;br /&gt;
&lt;br /&gt;
Nombre d'écriture = day_step X ndays/(itau_physics X output_freq)&lt;br /&gt;
&lt;br /&gt;
* ndays = 1000&lt;br /&gt;
* day_step = 200&lt;br /&gt;
* itau_physics = 50&lt;br /&gt;
* output_freq = 200&lt;br /&gt;
&lt;br /&gt;
On a 20 sorties tous les 1000 jours.&lt;br /&gt;
&lt;br /&gt;
Globalement, il est conseillé d'avoir 800 à 1000 sorties minimum par année planétaire (voir beaucoup plus en fonction de votre étude).&lt;br /&gt;
&lt;br /&gt;
== B) Ajouter une variable ==&lt;br /&gt;
&lt;br /&gt;
Pour ajouter une variable dans le fichier de sortie Xhistins.nc, il faut l'ajouter dans le field_group correspondant et s'assurer que cette variable est présente en tant que variable de sortie dans dynamico-giant/code/LMDZ.GENERIC/libf/phystd/physiq_mod.F90. Si ce n'est pas le cas, il faut faire un call writediagfi de la variable puis l'ajouter dans un call send_xios_field.&lt;br /&gt;
&lt;br /&gt;
== C) Forcer XIOS à écrire tous les .... ==&lt;br /&gt;
&lt;br /&gt;
Il faut utiliser l'attribut (ici par ex pour forcer l'écriture tous les ts (==time step) ; d'autres délais doivent être possible): &amp;lt;code&amp;gt;sync_freq=&amp;amp;quot;1ts&amp;amp;quot;&amp;lt;/code&amp;gt; dans le &amp;lt;code&amp;gt;&amp;amp;lt;file id=... .... &amp;amp;gt;&amp;lt;/code&amp;gt; concerné.&lt;br /&gt;
&lt;br /&gt;
== D) XIOS server ou client ==&lt;br /&gt;
&lt;br /&gt;
# XIOS client &amp;lt;code&amp;gt;use_server=False&amp;lt;/code&amp;gt; Broadwell 24 processeurs sur 28&lt;br /&gt;
# XIOS server &amp;lt;code&amp;gt;use_server=true&amp;lt;/code&amp;gt; Broadwell 24 processurs sur 28 + 4 processeurs pour XIOS&lt;br /&gt;
&lt;br /&gt;
Le cas 1 est 3 min plus lent que le cas 2 -- sur 2h20...(!) parce qu'on fait peu de sorties.&lt;br /&gt;
&lt;br /&gt;
= 6. Running the model =&lt;br /&gt;
&lt;br /&gt;
== A) Compilation ==&lt;br /&gt;
&lt;br /&gt;
Pour compiler le modèle, il suffit d'aller dans le dossier avec vos fichiers .def et .xml et d'utiliser le script compile_occigen.sh si on est sur occigen ou compile_ciclad.sh si on est sur ciclad&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;./compile_occigen.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les options qui peuvent être modifiées/ajoutées sont - -s : le nombre de scatterers - -parallel: mpi ou mpi_omp - -arch: le nom du ficher d'architecture - -arch_path: le chemin vers ce fichier - -job: 8 (conseillé) - -full: compile le code entièrement - -debug: pour trouver un éventuel bug. A ENLEVER obligatoirement s'il n'y a plus de bug car multiplie par 5 votre temp de calcul.&lt;br /&gt;
&lt;br /&gt;
En 1D, d'autres options sont nécessaires: - -t: nombre de traceurs - -d: nombre de niveaux verticaux - -parallel: none (en 1D uniquement)&lt;br /&gt;
&lt;br /&gt;
=== - Versions fonctionnelles de dynamico-giant ===&lt;br /&gt;
&lt;br /&gt;
'''Jupiter''' - XIOS revision 1583&amp;lt;br /&amp;gt;&lt;br /&gt;
- ICOSAGCM revision 756&amp;lt;br /&amp;gt;&lt;br /&gt;
- IOIPSL revision 339&amp;lt;br /&amp;gt;&lt;br /&gt;
- FCM_V1.2 revision 12&amp;lt;br /&amp;gt;&lt;br /&gt;
- Physics revision 2228 (LMDZ.COMMON, LMDZ.GENERIC, ICOSA_LMDZ, ARCH)&lt;br /&gt;
&lt;br /&gt;
but check Physics version 2142 and 2180&lt;br /&gt;
&lt;br /&gt;
'''Saturne (référence Spiga 2020, à vérifier)''' - DYNAMICO --&amp;amp;gt; Revision: 756 - PHYSICS --&amp;amp;gt; Revision: 2005 - XIOS --&amp;amp;gt; Revision: 1583 - IOIPSL --&amp;amp;gt; Revision: 310?&lt;br /&gt;
&lt;br /&gt;
'''Saturne (simulation de référence sur 61 niveaux, Bardet et al. Icarus 2021)''' - XIOS revision 1583&amp;lt;br /&amp;gt;&lt;br /&gt;
- ICOSAGCM revision 765&amp;lt;br /&amp;gt;&lt;br /&gt;
- IOIPSL revision 310&amp;lt;br /&amp;gt;&lt;br /&gt;
- FCM_V1.2 revision 12&amp;lt;br /&amp;gt;&lt;br /&gt;
- Physics revision 2005 (LMDZ.COMMON, LMDZ.GENERIC, ICOSA_LMDZ, ARCH)&lt;br /&gt;
&lt;br /&gt;
'''Saturne (simulation avec la GWD paramétrisation sur 61 niveaux, chapitre 6 PhD Bardet)''' - XIOS revision 1583&amp;lt;br /&amp;gt;&lt;br /&gt;
- ICOSAGCM revision 765&amp;lt;br /&amp;gt;&lt;br /&gt;
- IOIPSL revision 310&amp;lt;br /&amp;gt;&lt;br /&gt;
- FCM_V1.2 revision 12&amp;lt;br /&amp;gt;&lt;br /&gt;
- Physics revision 2213 (LMDZ.COMMON, LMDZ.GENERIC, ICOSA_LMDZ, ARCH)&lt;br /&gt;
&lt;br /&gt;
'''Saturne (simulation sur 96 niveaux, Bardet et al. Nature Astronomy 2022)''' - XIOS revision 1583&amp;lt;br /&amp;gt;&lt;br /&gt;
- ICOSAGCM revision 765&amp;lt;br /&amp;gt;&lt;br /&gt;
- IOIPSL revision 431&amp;lt;br /&amp;gt;&lt;br /&gt;
- FCM_V1.2 revision 12&amp;lt;br /&amp;gt;&lt;br /&gt;
- Physics revision 2305 (LMDZ.COMMON, LMDZ.GENERIC, ICOSA_LMDZ, ARCH)&lt;br /&gt;
&lt;br /&gt;
'''Saturne (simulation avec la GWD paramétrisation sur 96 niveaux, chapitre 6 PhD Bardet)''' - XIOS revision 1583&amp;lt;br /&amp;gt;&lt;br /&gt;
- ICOSAGCM revision 765&amp;lt;br /&amp;gt;&lt;br /&gt;
- IOIPSL revision 431&amp;lt;br /&amp;gt;&lt;br /&gt;
- FCM_V1.2 revision 12&amp;lt;br /&amp;gt;&lt;br /&gt;
- Physics revision 2403 (LMDZ.COMMON, LMDZ.GENERIC, ICOSA_LMDZ, ARCH)&lt;br /&gt;
&lt;br /&gt;
'''Uranus &amp;amp;amp; Neptune (old version)''' - XIOS revision 1944 - ICOSAGCM revision 765 - IOIPSL revision 431 - FCM_V1.2 revision 12&amp;lt;br /&amp;gt;&lt;br /&gt;
- Physics revision 2413 (LMDZ.COMMON, LMDZ.GENERIC, ICOSA_LMDZ, ARCH)&lt;br /&gt;
&lt;br /&gt;
'''Uranus &amp;amp;amp; Neptune (new version)''' - XIOS revision 2203 - ICOSAGCM revision (20/08/2021) - IOIPSL revision 450 - FCM_V1.2 revision 12&amp;lt;br /&amp;gt;&lt;br /&gt;
- Physics revision 2555 (LMDZ.COMMON, LMDZ.GENERIC, ICOSA_LMDZ, ARCH)&lt;br /&gt;
&lt;br /&gt;
'''Jupiter, Saturne, Uranus &amp;amp;amp; Neptune [OCCIGEN VERSION]''' - XIOS revision 2319 - ICOSAGCM revision (90f7138a60ebd3644fbbc42bc9dfa22923386385) - IOIPSL revision 453 - FCM_V1.2 revision 12&amp;lt;br /&amp;gt;&lt;br /&gt;
- Physics revision 2655 (LMDZ.COMMON, LMDZ.GENERIC, ICOSA_LMDZ, ARCH)&lt;br /&gt;
&lt;br /&gt;
'''Jupiter, Saturne, Uranus &amp;amp;amp; Neptune [IRENE VERSION]''' - XIOS revision 2399 - ICOSAGCM revision (4fbd393a9051fd9c1a5b662683f6ad8d0dc2867c) - IOIPSL revision 6234 - FCM_V1.2 revision 12&amp;lt;br /&amp;gt;&lt;br /&gt;
- Physics revision 2842 (LMDZ.COMMON, LMDZ.GENERIC, ICOSA_LMDZ, ARCH)&lt;br /&gt;
&lt;br /&gt;
== B) Run 1D ==&lt;br /&gt;
&lt;br /&gt;
Pour une simulation 1D, 1 seul CPU suffit.&lt;br /&gt;
&lt;br /&gt;
To run on Occigen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sbatch job_mpi&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To run on Irene:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ccc_msub job_mpi&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To see evolution of your job on Occigen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;squeue -u username&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To see evolution of your job on Irene:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ccc_mpp -u username&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To kill your job on Occigen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;scancel id_of_your_job&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To kill your job on Irene:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ccc_mdel id_of_your_job&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Une fois que votre simulation est fini, lancer le script python printapbp.py qui vous permettra d'obtenir les fichiers apbp.txt et temp_profile.txt nécessaires pour les simulations en 3D.&lt;br /&gt;
&lt;br /&gt;
== C) Run 3D ==&lt;br /&gt;
&lt;br /&gt;
Pour lancer une première simulation, il faut tout d'abord le faire une seule fois dans le dossier makestart de l'un des dossiers jupiter, saturne, uranus ou neptune. Ce dernier permettra de créer les premiers fichiers restart_icosa.nc et restartfi.nc. Ensuite, il suffit revenir dans le dossier parent (jupiter, saturne, uranus, neptune) et de lancer ses simulations.&lt;br /&gt;
&lt;br /&gt;
=== - MPI ===&lt;br /&gt;
&lt;br /&gt;
Avant de lancer une simulation, il est nécessaire de déterminer - le nombre de procs - le nombre de noeuds&lt;br /&gt;
&lt;br /&gt;
Il faut avant tout savoir qu'il y a 10 x nsplit_i x nsplit_j domaines. Ces domaines sont divisés en plusieurs cellules. Il y a (nbp)²/(nsplit_i x nsplit_j) cellules par domaine. Ce nombre est égal au nombre de MPI process.&lt;br /&gt;
&lt;br /&gt;
Il est important de ne pas faire des tuiles &amp;amp;quot;trop petites&amp;amp;quot; et donc de garder nsplit_i et nsplit_j tels que nbp/nsplit_{i,j} &amp;amp;gt;=10-15 (plutôt 15). Car il y a des calculs &amp;amp;quot;redondants&amp;amp;quot; faits sur les bords du domaine. Admettons que ton domaine soit 10 x 10 (100 cellules par domaine). Le nombre de cellules au bord du domaine est égal à 2 x nsplit_i + 2 x nsplit_j - 4. Dans ce cas, le nombre de cellules au bord est de 36. Cela signifie que le bord du domaine correspond à 36% du domaine (36 points sur 100). Si le domaine est 15 x 15, alors le bord du domaine n'est plus que de 24.8 %. On aimerait avoir des domaines les plus grands possibles mais il faut aussi voir que chaque cellule correspond à une colonne à résoudre... Et c'est là ou il faut expérimenter un peu pour trouver l'optimum entre le nombre total de proc à employer et le gain effectif (temps total &amp;amp;quot;facturé&amp;amp;quot; au vu du nombre de procs monopolisés pour une simu donnée). Ehouarn&lt;br /&gt;
&lt;br /&gt;
Il faut au total que le nombre de procs soit égal à 10 x nsplit_i x nsplit_j qu'il faut répartir entre les noeuds.&lt;br /&gt;
&lt;br /&gt;
Pour les noeuds, il faut tenir compte qu'un noeud sur Occigen, c'est 24 (ou 28) procs. Disons 24. Quand on demande N procs, le système te donne M noeuds, soit M X 24 procs (les noeuds ne sont pas partagés avec d'autres applications). Et bien sûr on te facturera ces M noeuds, même si tu n'utilises pas tous les procs. Donc il faut s'efforcer de tomber juste et demander un multiple de 24 procs. Même raisonement si tu demandes à utiliser des noeuds de 28 procs.&lt;br /&gt;
&lt;br /&gt;
Par exemple, nsplit_i = 4 et nsplit_j = 6. 4 x 6 est égal à 24. On utilisera donc 10 noeuds pour avoir 240 nprocs.&lt;br /&gt;
&lt;br /&gt;
Prenons un autre exemple. nsplit_i = 5 et nsplit_j = 6. 5x6 = 30 Or il y a 24 procs par noeuds. Il faudra utiliser 13 noeuds. Et ce ne sont pas 300 procs qui seront facturés au total mais 312.&lt;br /&gt;
&lt;br /&gt;
Mais comme vu plus haut, en fonction de la configuration de tes domaines, il est possible que le 2nd exemple coûte moins cher en heure CPU que le 1er exemple car il sera plus rapide.&lt;br /&gt;
&lt;br /&gt;
=== - OpenMP / MPI ===&lt;br /&gt;
&lt;br /&gt;
Dans le cas mixte OpenMP/MPI, il est nécessaire de renseigner le nombre de tâche OpenMP et de MPI threads. Dans le script pour le job, on a :&lt;br /&gt;
&lt;br /&gt;
cpus-per-task et OMP_NUM_THREADS correspondent au nombre de tâche OpenMP ntask-per-node correspond au nombre de tâche par noeud&lt;br /&gt;
&lt;br /&gt;
Pour déterminer la configuration à utiliser en OpenMP/MPI, il faut respecter ces règles: - ntask-per-node x nodes correspond au nombre total de MPI threads qu'il devrait y avoir (c'est-à-dire dans le cas MPI seul). - cpus-per-task x ntask-per-node doit être égale ou inférieur au nombre de procs par noeuds (24 ou 28- sur Occigen) - cpus-per-task devrait être ~égal au nombre de niveaux verticaux / 10 - OMP_NUM_THREADS doit être égal au cpus-per-task - omp_level_size (dans le fichier run_icosa.def) devrait être ~égal au nombre de cpus-per-task. (dans le cas MPI seul, il faut le laisser égal à 1)&lt;br /&gt;
&lt;br /&gt;
Au total, le nombre total de nprocs est égal à cpus-per-task x ntask-per-node x nodes&lt;br /&gt;
&lt;br /&gt;
En reprenant le premier exemple MPI (on suppose qu'on a 40 niveaux verticaux), on aura - cpus-per-task = 4 - ntask-per-norde = 6 On a bien cpus-per-task x ntask-per-norde &amp;amp;lt;= 24. Le nombre de noeuds doit être égal à 40 car 6x40 = 240 nprocs MPI Le nombre de procs qu'on utilisera au total sera de 960.&lt;br /&gt;
&lt;br /&gt;
=== - Comment déterminer le nombre d'heure CPU (consommation en heure)? ===&lt;br /&gt;
&lt;br /&gt;
Heures CPU = durée_de_la_simu X nombre de procs total facturé&lt;br /&gt;
&lt;br /&gt;
Si on veut connaître le nombre d'heure CPU qu'on consommera à partir d'un test, voici le calcul&lt;br /&gt;
&lt;br /&gt;
Heures CPU = durée_de_la_simu_test X nombre de procs total facturé X nombre de jour qu'on veut simulé / (nombre de jour simulées pendant la simu test)&lt;br /&gt;
&lt;br /&gt;
== D) Optimisation ==&lt;br /&gt;
&lt;br /&gt;
Pour savoir quelle est la meilleure configuration en MPI seul, en OpenMP/MPI et entre les 2, des tests ont été effectués. Ces tests ont été réalisés sur Uranus à nbp80 sur les noeuds Broadwell (28 procs par noeud). 1000 jours uraniens ont été simulés à chaque fois.&lt;br /&gt;
&lt;br /&gt;
'''MPI:''' [[File:https://web.lmd.jussieu.fr/~gmilcareck/mpi_uranus_occigen_broadwell.png]]&lt;br /&gt;
&lt;br /&gt;
'''OpenMP/MPI:''' [[File:https://web.lmd.jussieu.fr/~gmilcareck/ompmpi_uranus_occigen_broadwell.png]]&lt;br /&gt;
&lt;br /&gt;
La comparaison du MPI seul et du mixte OpenMP/MPI permet de tirer la conclusion que le mixte OpenMP/MPI est beaucoup plus rapide (facteur 2.5 à 3) mais consomme plus (facteur 1.1 à 1.7).&lt;br /&gt;
&lt;br /&gt;
[[File:https://web.lmd.jussieu.fr/~gmilcareck/comparaison_uranus_occigen_broadwell.png|frame|none]]&lt;br /&gt;
&lt;br /&gt;
== E) Visualizing the output files ==&lt;br /&gt;
&lt;br /&gt;
=== - Comment comparer deux fichiers? file1.nc file2.nc ===&lt;br /&gt;
&lt;br /&gt;
ncdiff file1.nc file2.nc output.nc&lt;br /&gt;
&lt;br /&gt;
=== - Comment coller plusieurs fichiers file1.nc file2.nc file3.nc ===&lt;br /&gt;
&lt;br /&gt;
ncrcat file1.nc file2.nc file3.nc output.nc&lt;br /&gt;
&lt;br /&gt;
Avec juste la vitesse u et v: ncrcat -v u -v v file1.nc file2.nc file3.nc output.nc&lt;br /&gt;
&lt;br /&gt;
Avec tous les fichiers fileXXX.nc disponibles ncrcat file*.nc output.nc&lt;br /&gt;
&lt;br /&gt;
=== - Comment tracer les champs et divers diagnostics en moyenne zonale? ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;mettre à jour planetoplot et planets&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;utiliser precast.py dans planetoplot/examples/ppclass_additional/dynanalysis&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;changer les options au début (il y a des exemples), exemple pour Saturne&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;fileAP=&amp;quot;Xhistins_42.nc&amp;quot;&lt;br /&gt;
p_upper,p_lower,nlev = 4.0e2,2.5e5,40&lt;br /&gt;
targetp1d = np.logspace(np.log10(p_lower),np.log10(p_upper),nlev)&lt;br /&gt;
myp = planets.Saturn&lt;br /&gt;
day_per_year = 24430.&lt;br /&gt;
short = False&lt;br /&gt;
includels = False&lt;br /&gt;
charx = &amp;quot;0,360&amp;quot;&lt;br /&gt;
ispressure = False&lt;br /&gt;
vartemp = &amp;quot;temperature&amp;quot;&lt;br /&gt;
outfile = &amp;quot;precast.nc&amp;quot;&lt;br /&gt;
nopole = True&amp;lt;/source&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Il faut que apbp.txt soit présent !&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Le résultat se trouve dans le fichier indiqué dans outfile.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== F) Debug ==&lt;br /&gt;
&lt;br /&gt;
=== - Pour debugger ===&lt;br /&gt;
&lt;br /&gt;
Réglez &amp;lt;code&amp;gt;info_level&amp;lt;/code&amp;gt; à &amp;lt;code&amp;gt;100&amp;lt;/code&amp;gt; dans le fichier &amp;lt;code&amp;gt;iodef.xml&amp;lt;/code&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
=== - Erreur en début de run, SEGMENTATION FAULT dans la routine &amp;lt;code&amp;gt;advect.f90&amp;lt;/code&amp;gt; (ICOSAGCM/ppsrc/transport) au niveau de l'appel à &amp;lt;code&amp;gt;cross_product2&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
La routine &amp;lt;code&amp;gt;cross_product2&amp;lt;/code&amp;gt; effectue des produits vectoriels. Cette erreur vient du fait qu'en essayant de faire des optimisations de calcul, le compilateur se prend &amp;amp;quot;les pieds dans le tapis&amp;amp;quot; et ne sait plus faire le produit vectoriel. Pour empêcher le compilateur de faire des optimisations trop poussées, il faut ajouter l'option &amp;lt;code&amp;gt;-fp-model strict&amp;lt;/code&amp;gt; au niveau du mot-clé &amp;lt;code&amp;gt;%BASE_FFLAGS&amp;lt;/code&amp;gt; dans tous les fichiers &amp;lt;code&amp;gt;.fcm&amp;lt;/code&amp;gt; du modèle (LMDZ.COMMON / ICOSAGCM / ICOSA_LMDZ).&lt;br /&gt;
&lt;br /&gt;
== G) Pas de radiatif et perturbations ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;faire descendre le modèle&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;modifier le code pour perturbations vitesse et pas température&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;compiler (voir README.md)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;changer dans callphys.def (dans saturn/makestart)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;surfalbedo = 1.0&lt;br /&gt;
surfemis = 0.0&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;changer dans callphys.def (dans saturn '''et''' saturn/makestart)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;corrk      = .false.&lt;br /&gt;
enertest  = .true.&lt;br /&gt;
randompert = 1&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;voir si on garde le flux interne ou non (&amp;lt;code&amp;gt;intheat&amp;lt;/code&amp;gt;)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;refaire les états initiaux (dans makestart)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;faire un run court pour voir sur les spectres l'injection d'Ek&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== H) PROFILING with DYNAMICO-Giant ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;-pg&amp;lt;/code&amp;gt;: Generate extra code to write profile information suitable for analysis program &amp;lt;code&amp;gt;gprof&amp;lt;/code&amp;gt;. You must use this option when compiling the sources files you want data about and you must '''also use it when linking'''. 1. For DYNAMICO-Giant: in the arch.fcm file of each part of the model (ICOSAGCM, ICOSA_LMDZ, LMDZ.COMMON and XIOS), you have to add the option &amp;lt;code&amp;gt;-pg&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;%PROD_FFLAGS&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;%BASE_LD&amp;lt;/code&amp;gt; 2. Compile as usual 3. Execute your code as usual 4. Run &amp;lt;code&amp;gt;gprof&amp;lt;/code&amp;gt; tool:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    gprof icosa_lmdz.exe goon.out &amp;amp;gt; analysis.txt&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Aspiga</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Dynamico-giant&amp;diff=1167</id>
		<title>Dynamico-giant</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Dynamico-giant&amp;diff=1167"/>
				<updated>2023-01-24T10:17:04Z</updated>
		
		<summary type="html">&lt;p&gt;Aspiga: Created page with &amp;quot;[transferred from github, now active here]  # 1. Introduction  &amp;quot;Welcome to the dynamico-giant wiki&amp;quot;  Dynamico-giant est un dépôt git qui permet d'installer le modèle Dynami...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[transferred from github, now active here]&lt;br /&gt;
&lt;br /&gt;
# 1. Introduction&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Welcome to the dynamico-giant wiki&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dynamico-giant est un dépôt git qui permet d'installer le modèle Dynamico avec les fichiers de configs propres aux planètes géantes gazeuses et géantes glacées. Ci-dessous, vous trouverez presque (car nous ne sommes pas parfaits) toutes les informations sur l'installation, la compilation du modèle et les paramètres que vous pouvez modifier pour faire tourner le modèle.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Allons-y!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# 2. Installation&lt;br /&gt;
&lt;br /&gt;
## A) Fichiers d'architecture&lt;br /&gt;
&lt;br /&gt;
### - Modules&lt;br /&gt;
&lt;br /&gt;
Before installation, set environment (do it once) in your .bash_profile.&lt;br /&gt;
&lt;br /&gt;
Modules used on Occigen:&lt;br /&gt;
```&lt;br /&gt;
ulimit -s unlimited&lt;br /&gt;
# modules&lt;br /&gt;
module purge&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;
module load ncview&lt;br /&gt;
module load nco&lt;br /&gt;
module load qt&lt;br /&gt;
module load python&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
Modules used on Ciclad:&lt;br /&gt;
```&lt;br /&gt;
ulimit -s unlimited&lt;br /&gt;
# modules&lt;br /&gt;
module purge&lt;br /&gt;
module load gnu/4.9.3 &lt;br /&gt;
module load intel/15.0.6.233&lt;br /&gt;
module load openmpi/1.6.5-ifort&lt;br /&gt;
module load hdf5/1.8.18-parallel-ifort&lt;br /&gt;
module load netcdf4/4.4.1.1-parallel-ifort&lt;br /&gt;
```&lt;br /&gt;
Beware, if you change version of model (newer or older version), it's possible that you have to change modules...&lt;br /&gt;
&lt;br /&gt;
### - Installation sur un nouveau cluster&lt;br /&gt;
&lt;br /&gt;
En pratique LMDZ.COMMON, ICOSA_LMDZ et IOIPSL peuvent utiliser exactement le même fichier arch.fcm ; mais celui pour ICOSAGCM est légèrement différent (les %FPP_DEF diffèrent, peut-être aussi le %FPP).&lt;br /&gt;
&lt;br /&gt;
make_icosa_lmdz doit être lancé avec -arch_path ../ARCH puisque les arch.env et arch.path communs se trouvent dans ../ARCH (l'option -arch_path ne concerne d'ailleurs que les fichiers arch.env et arch.path; le fichier arch.fcm recherché sera toujours celui dans le &amp;quot;arch&amp;quot; de chacun des modèles. Donc il faut bien mettre pour chacun des quatre modèles (LMDZ.COMMON, ICOSA_LMDZ,IOIPSL et ICOSAGCM) le arch.fcm dans le sous-dossier arch/ du modèle correspondant.&lt;br /&gt;
&lt;br /&gt;
L'installation d'IOIPSL doit se faire à partir du bon script bash. Si vous utilisez un server autre qu'occigen, il vous faut changer le nom du script à utiliser dans install_ioipsl.sh. Par exemple, il vous faudra utiliser install_ioipsl_ciclad-ifort.bash pour CICLAD.&lt;br /&gt;
&lt;br /&gt;
XIOS est écrit en C++, et pas en Fortran. Le fichier arch.fcm correspondant est donc nécessairement différent de celui des quatre autres modèles. Pour créér ce arch.fcm, prendre exemple sur les fichiers .fcm déjà présent dans XIOS/arch/, avec une architecture similaire à celle du nouveau cluster. En particulier, il faut utiliser des versions de gcc/gfortran &amp;gt; 6+. &lt;br /&gt;
Il faut absolument avoir une bibliothèque HDF5 compilée en parallèle, ainsi que netcdf-C et netcdf-fortran (et peut être aussi netcdf-Cxx) compilé en parallèle. Sans ça, il sera peut-être possible de compiler le modèle, mais pas de lancer une simulation en utilisant XIOS.&lt;br /&gt;
&lt;br /&gt;
## B. Download&lt;br /&gt;
&lt;br /&gt;
Download structure&lt;br /&gt;
&lt;br /&gt;
Take place on a repository and git clone the model.&lt;br /&gt;
&lt;br /&gt;
On occigen:&lt;br /&gt;
```&lt;br /&gt;
cd $SCRATCHDIR&lt;br /&gt;
git clone https://github.com/aymeric-spiga/dynamico-giant.git [optional different name]&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
## C. Install&lt;br /&gt;
&lt;br /&gt;
Install code&lt;br /&gt;
```&lt;br /&gt;
cd dynamico-giant&lt;br /&gt;
./install.sh&lt;br /&gt;
./install_ioipsl.sh&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
A login and a password are necessary to install IOIPSL (only for the first time, after that we can save them). Please contact TGCC computing center to get the login/password.&lt;br /&gt;
&lt;br /&gt;
After that, please add &amp;quot;$PWD&amp;quot;/FCM_V1.2/bin/ to PATH environment variable.&lt;br /&gt;
&lt;br /&gt;
Ant that's all, we can now change parameters of files or compile the code to do a test (part 6) or eat a beautiful tartiflette (can be also do during compilation).&lt;br /&gt;
&lt;br /&gt;
# 3. General parameters&lt;br /&gt;
## A) Mesh grid &amp;amp; resolution&lt;br /&gt;
&lt;br /&gt;
On run_icosa.def:&lt;br /&gt;
```&lt;br /&gt;
nbp --&amp;gt; number of subdivision on a main triangle: integer (default=40)&lt;br /&gt;
        nbp = sqrt((nbr_lat x nbr_lon)/10)&lt;br /&gt;
        nbp                 20  40  80 160&lt;br /&gt;
        T-edge length (km) 500 250 120  60&lt;br /&gt;
        Example: nbp(128x96)=35 -&amp;gt; 40&lt;br /&gt;
                 nbp(256x192)=70 -&amp;gt; 80&lt;br /&gt;
                 nbp(360x720)=160 -&amp;gt; 160&lt;br /&gt;
nsplit_i, nsplit_j --&amp;gt; sub splitting of main rhombus: integer&lt;br /&gt;
                        Example: for nbp=80, nsplit_i=4,nsplit_j=6&lt;br /&gt;
                        nbp/nsplit_{i,j} = 20 &amp;gt; 10 &amp;amp; 13 &amp;gt; 10 --&amp;gt; GOOD&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
### - Remapping&lt;br /&gt;
&lt;br /&gt;
Pour le remapping, il faut aller dans context_lmdz_physics.xml changer les paramètres ni_glo et nj_glo par exemple pour remapper sur du lat/lon à 360 pts en latitude et 720 pts en longitude (0.5°).&lt;br /&gt;
&lt;br /&gt;
`&amp;lt;domain id=&amp;quot;dom_regular&amp;quot; ni_glo=&amp;quot;720&amp;quot; nj_glo=&amp;quot;360&amp;quot; type=&amp;quot;rectilinear&amp;quot;&amp;gt;`&lt;br /&gt;
&lt;br /&gt;
## B) Time&lt;br /&gt;
&lt;br /&gt;
* ndays is number of days to simulate.&lt;br /&gt;
* day_step is number of dynamical time step per day&lt;br /&gt;
* Dynamics called every day_length(in s) / day_step       per day&lt;br /&gt;
* 1 ts (physical timestep) = (day_length(in s)/day_step) x itau_physics&lt;br /&gt;
* Physics called (day_step / itau_physics)   per day&lt;br /&gt;
* Physics called day_length(in s) / ts       per day&lt;br /&gt;
* Radiative called every Physics x iradia    physical timestep&lt;br /&gt;
* Radiative called every iradia/Physics      days&lt;br /&gt;
&lt;br /&gt;
## C) Sponge layer&lt;br /&gt;
&lt;br /&gt;
```&lt;br /&gt;
iflag_sponge=0 for no sponge (default)&lt;br /&gt;
iflag_sponge=1 for sponge over 4 topmost layers&lt;br /&gt;
iflag_sponge=2 for sponge from top to ~1% of top layer pressure&lt;br /&gt;
mode_sponge=1 for u,v --&amp;gt; 0&lt;br /&gt;
mode_sponge=2 for u,v --&amp;gt; zonal mean&lt;br /&gt;
mode_sponge=3 for u,v,h --&amp;gt; zonal mean&lt;br /&gt;
tau_sponge --&amp;gt; damping frequency at last layer&lt;br /&gt;
           --&amp;gt; e-5 medium / e-4 strong yet reasonable / e-3 very strong&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
Spiga et al (2020): Shaw and Shepherd (2007) showed that the inclusion of sponge-layer parameterizations that do not conserve angular momentum (which is the case for Rayleigh drag), or allow for momentum to escape to space, implies a sensitivity of the dynamical results (especially zonal wind speed) to the choice for model top or drag characteristic timescale, because of spurious downward influence when momentum conservation is violated.&lt;br /&gt;
&lt;br /&gt;
Il ne faut donc pas ajouter de sponge layer pour les planètes géantes (iflag_sponge = 0)&lt;br /&gt;
&lt;br /&gt;
## D) Dissipation&lt;br /&gt;
&lt;br /&gt;
Spiga et al (2020): A subgrid-scale dissipation term is included in our Saturn DYNAMICO GCM to prevent the accumulation of energy at scales close to the grid resolution, caused by the GCM not resolving the turbulent scales at which this energy is dissipated. This hyperviscosity term is written in our Saturn DYNAMICO model as an iterated Laplacian term on a given variable. The three variables denoted are vorticity, divergence, and potential temperature, chosen to set horizontal dissipation on respectively the rotational component of the flow (e.g. Rossby waves), the divergent component of the flow (e.g. gravity waves), and the diabatic perturbations (e.g. coming from the physical packages).&lt;br /&gt;
&lt;br /&gt;
```&lt;br /&gt;
tau_graddiv --&amp;gt; dissipation timescale of smallest wvl: u,v (gradiv) : real (default=5000)&lt;br /&gt;
tau_gradrot --&amp;gt; dissipation timescale of smallest wvl: u,v (nxgradrot) : real (default=5000)&lt;br /&gt;
tau_divgrad --&amp;gt; dissipation timescale of smallest wvl: h (divgrad) : real (default=5000)&lt;br /&gt;
nitergdiv --&amp;gt; number of iterations for gradiv operator : integer (default=1)&lt;br /&gt;
nitergrot --&amp;gt; number of iterations for nxgradrot operator : integer (default=1)&lt;br /&gt;
niterdivgrad --&amp;gt; number of iterations for divgrad operator : integer (default=1)&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
tau_graddiv,tau_gradrot,tau_divgrad correspondent au temps de dissipation (plus c'est petit, plus la dissipation est efficace).&lt;br /&gt;
nitergdiv,nitergrot,niterdivgrad correspondent à l'ordre du laplacien (plus c'est grand, plus on dissipe sélectivement les petites échelles).&lt;br /&gt;
&lt;br /&gt;
Attention, Trop dissiper -&amp;gt; instabilité numérique&lt;br /&gt;
&lt;br /&gt;
Pas assez dissiper -&amp;gt; instabilité dynamique trop forte&lt;br /&gt;
&lt;br /&gt;
L'ordre du laplacien dans les fichiers .def est suffisant. S'il faut changer la dissipation, il vaut mieux changer les temps de dissipation que l'ordre du laplacien (risque d'instabilité numérique).&lt;br /&gt;
&lt;br /&gt;
### - Facteurs de dissipation &lt;br /&gt;
&lt;br /&gt;
A partir de ces valeurs de temps de dissipation, il est également possible d'ajouter 2 facteurs de dissipation (fac_mid et fac_up) qui permettent d'augmenter la dissipation à partir de certains niveaux. Le fac_mid permet de diminuer le temps de dissipation d'un facteur sur toute l'atmosphère jusqu'au bottom. Il y a une zone transition de quelques niveaux entre le bottom (le temp de dissipation au bottom est sans facteur) et quelques niveaux au-dessus où la valeur du temps de dissipation est avec ce facteur jusqu'au top. On ne peut donc pas choisir l'altitude et la zone de transition avec ce facteur. Quant au fac_up, il permet de diminuer le temps de dissipation d'un facteur à partir d'une altitude et d'une épaisseur de zone de transition qu'on peut choisir. On peut utiliser la combinaison des 2 ou l'un des 2. Pour ne pas prendre en compte ces facteurs de dissipation, il faut qu'il soit mis à 1.&lt;br /&gt;
&lt;br /&gt;
Il existe 2 modes possibles pour le fac_up: le mode martien (en fonction de l'altitude) et le mode vénusien (en fonction de la pression). Dans le 1er cas, il faut renseigner l'altitude où démarre la zone de transition et l'épaisseur de cette zone. Dans le 2ème cas, il faut renseigner la pression où démarre la zone de transition et l'échelle de hauteur de cette zone de transition.&lt;br /&gt;
&lt;br /&gt;
Il est vivement conseillé de tracer votre profil de dissipation à partir des équations (dans vert_prof_dissip_icosa_lmdz.f90) afin d'être certain de leur allure.&lt;br /&gt;
&lt;br /&gt;
## E) Rayleigh Friction&lt;br /&gt;
&lt;br /&gt;
Spiga et al 2020: This drag plays the role devoted to surface friction on terrestrial planets, which allows to close the angular momentum budget through downward control (Haynes and McIntyre, 1987; Haynes et al., 1991). This could also be regarded as a zeroth-order parameterization for Magneto-HydroDynamic (MHD) drag as a result of Lorenz forces acting on jet streams putatively extending to the depths of Saturn's interior (Liu et al., 2008; Galanti et al., 2019), much deeper than the shallow GCM's model bottom. &lt;br /&gt;
&lt;br /&gt;
Comme Liu and Schneider (2010), cette couche de frottement ne s'exerce pas aux régions équatoriales car à l’extérieur du cylindre tangeant du rayon équatorial, les cylindres convectifs ne coupent pas cette couche et ne subissent pas les frottements liés aux effets de la MHD.&lt;br /&gt;
&lt;br /&gt;
Le paramètre rayleigh_limlat correspond à la latitude maximale de part et d'autre de l'équateur où cette friction n'est pas observée.&lt;br /&gt;
&lt;br /&gt;
Pour le temps (rayleigh_friction_tau), il est similaire à celui utilisé par Liu and Schneider (2010). Elle est fixée à 100 jours terrestres. Mais attention, on fonction de la valeur, la dynamique peut évoluer dans votre simulation.&lt;br /&gt;
&lt;br /&gt;
## F) Conservation&lt;br /&gt;
&lt;br /&gt;
Dans run_icosa.def:&lt;br /&gt;
&lt;br /&gt;
```&lt;br /&gt;
check_conservation = detailed &lt;br /&gt;
itau_check_conserv = 320&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
Le itau_check_conserv est comme itau_physics pour que la contribution de la physique à AAM ne soit pas nulle. de plus il est coûteux d'appeler les diagnostics trop souvent.&lt;br /&gt;
&lt;br /&gt;
S. Lebonnois, C. Covey, A. Grossman, H. Parish, G. Schubert, R. Walterscheid, P. Lauritzen, and C. Jablonowski. Angular momentum budget in General Circulation Models of superrotating atmospheres: A critical diagnostic. Journal of Geophysical Research (Planets), 117:E12004, 2012.&lt;br /&gt;
&lt;br /&gt;
P. H. Lauritzen, J. T. Bacmeister, T. Dubos, S. Lebonnois, and M. A. Taylor. Held-Suarez simulations with the Community Atmosphere Model Spectral Element (CAM-SE) dynamical core: A global axial angular momentum analysis using Eulerian and floating Lagrangian vertical coordinates. Journal of Advances in Modeling Earth Systems, 6:129-140, 2014.&lt;br /&gt;
&lt;br /&gt;
## G) Traceur&lt;br /&gt;
&lt;br /&gt;
### - Branche master version du 04/04/2022 dans le dossier Jupiter (traceur)&lt;br /&gt;
&lt;br /&gt;
La version actuelle des fichiers de réglage dans le dossier Jupiter est réglée pour utiliser des traceurs. &lt;br /&gt;
Si vous souhaiter utiliser le modèle sans traceur, il vous faut modifier les fichiers suivants : &lt;br /&gt;
&lt;br /&gt;
run_icosa.def&lt;br /&gt;
&lt;br /&gt;
            nqtot = 0&lt;br /&gt;
&lt;br /&gt;
traceur.def&lt;br /&gt;
&lt;br /&gt;
            0&lt;br /&gt;
&lt;br /&gt;
context_dynamico.xml (ligne 125)&lt;br /&gt;
&lt;br /&gt;
             &amp;lt;field id=&amp;quot;q_start&amp;quot; name=&amp;quot;q&amp;quot;  grid_ref=&amp;quot;grid_q_start&amp;quot; prec=&amp;quot;8&amp;quot;/&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
## H) Bottom du modèle&lt;br /&gt;
&lt;br /&gt;
* refaire tourner le 1D&lt;br /&gt;
    - changer la pression ``psurf`` dans rcm1d.def&lt;br /&gt;
    - changer ``ichoice=1`` et changer ``tref`` (ex: 10b: 330K)&lt;br /&gt;
* refaire tourner le 3D (avec makestart) en changeant ``preff`` dans ``[nom_de_la_planète]_const.def``&lt;br /&gt;
&lt;br /&gt;
# 4. Physical parameterizations&lt;br /&gt;
## A) Cycle diurne&lt;br /&gt;
&lt;br /&gt;
`diurnal = .false.` &lt;br /&gt;
Car le temps radiatif est beaucoup plus long sur les planètes géantes.&lt;br /&gt;
&lt;br /&gt;
## B) Anneaux&lt;br /&gt;
&lt;br /&gt;
[Pour saturne uniquement] Il est possible d'ajouter l'ombre des anneaux dans le callphys.def: &lt;br /&gt;
&lt;br /&gt;
`rings_shadow = .true.`&lt;br /&gt;
&lt;br /&gt;
## C) Collision-induced absorption data&lt;br /&gt;
&lt;br /&gt;
L'absorption induite par collision est importante dans le transfet radiatif sur les planètes géantes, notamment celle provenant de H2. Cependant, le rapport ortho-para du H2 est différent selon les planètes et peut modifier fortement le chauffage sur ces planètes.&lt;br /&gt;
Pour le cas des géantes gazeuses, le rapport ortho-para est normal (rapport 3:1). Mais pour le cas des géantes glacées, le rapport ortho-para est à l'équilibre. Par défaut, le rapport ortho-para est normal (H2orthopara_mixture = normal). Pour les géantes glacées, il faut mettre H2orthopara_mixture = equilibrium .&lt;br /&gt;
&lt;br /&gt;
Si vous voulez modifier le fichier utilisé dans un cas de CIA, il faut aller dans le code (dynamico-giant/code/LMDZ.GENERIC/libf/phystd/interpolate????.F90) et changer le nom du fichier (assurez-vous que ce fichier soit dans votre répertoire DATAGENERIC/continuum_data).&lt;br /&gt;
&lt;br /&gt;
Dans la version actuelle, il n'existe pas d'option qui permet de ne pas utiliser certaines contributions de CIA. Par exemple, si votre atmosphère est composé de H2, He et CH4 et que vous ne voulez pas des contributions venant du CH4, il vous faut commenter dans le modèle ces contributions.&lt;br /&gt;
&lt;br /&gt;
## D) K-correlated data&lt;br /&gt;
&lt;br /&gt;
Les fichiers k-corrélées doivent se situer dans votre répertoire DATAGENERIC/corrk_data .&lt;br /&gt;
&lt;br /&gt;
## E) Cpp mode&lt;br /&gt;
&lt;br /&gt;
cpp_mugaz_mode=0 pour que la valeur de cpp et de mugaz proviennent de la dynamique.&lt;br /&gt;
cpp_mugaz_mode=1 pour forcer la valeur de cpp et de mugaz dans le callphys.def (à utiliser dans le makestart uniquement)&lt;br /&gt;
cpp_mugaz_mode=2 pour calculer automatiquement à partir de données de références à 300 K et du gases.def (à éviter)&lt;br /&gt;
&lt;br /&gt;
## F) Generic n-layer aerosols (replaces the former 2-layer and NH3 cloud)&lt;br /&gt;
&lt;br /&gt;
Ce mode permet de créer des couches d'aérosols/nuages ayant une opacité (aeronlay_tauref) à une longueur d'onde donnée (aeronlay_lamref), un rayon de particule fixe (aeronlay_size) situés à une pression fixe et en fonction des propriétés optiques des particules (optprop_aeronlay_vis et optprop_aeronlay_ir).&lt;br /&gt;
Pour le cas de l'altitude, on peut choisir soit (aeronlay_choice = 1) une pression max (aeronlay_ptop) et une pression min (aeronlay_pbot), soit (aeronlay_choice = 2) une pression min (aeronlay_pbot) et une échelle de hauteur (aeronlay_sclhght).&lt;br /&gt;
On peut également choisir la variance effective pour les rayons de particules.&lt;br /&gt;
&lt;br /&gt;
Le nombre de couche de nuage (nlayero) est égal au nombre de scatterers dans la compilation (option -s ). &lt;br /&gt;
&lt;br /&gt;
Les fichiers de propriétés optiques doivent être dans votre DATAGENERIC.&lt;br /&gt;
&lt;br /&gt;
Un exemple pour 3 couches:&lt;br /&gt;
```&lt;br /&gt;
aeronlay = .true.&lt;br /&gt;
nlayaero = 3&lt;br /&gt;
aeronlay_tauref       = 2.5 0.04 0.1&lt;br /&gt;
aeronlay_lamref       = 0.8e-6 0.8e-6 0.16e-6&lt;br /&gt;
aeronlay_choice       = 2 2 1&lt;br /&gt;
aeronlay_pbot         = 1.5e5 1.6e5 20.&lt;br /&gt;
aeronlay_ptop         = 1.1e5 1. 1.&lt;br /&gt;
aeronlay_sclhght      = 0.1 2.0 1&lt;br /&gt;
aeronlay_size         = 0.5e-6 0.05e-6 0.5e-6&lt;br /&gt;
aeronlay_nueff        = 0.3 0.3 0.3&lt;br /&gt;
optprop_aeronlay_vis  = optprop_aerosol2_vis.dat optprop_aerosol3_vis.dat optprop_carbon4_vis.dat&lt;br /&gt;
optprop_aeronlay_ir   = optprop_aerosol2_ir.dat optprop_aerosol3_ir.dat optprop_carbon4_ir.dat&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
## G) Panaches thermiques&lt;br /&gt;
&lt;br /&gt;
1) Comme pour toutes nouvelles simulations, il faut commencer par un run 1D de plusieurs décennies permettant d'obtenir un profil de température (`temp_profile.txt`) et les coefficients ap et bp (`apbp.txt`) en équilibre radiatif-convectif pour la planète que l'on étudie. Ce run 1D s'effectue dans les dossiers jupiter1d, saturn1d, neptune1d et/ou uranus1d, avec ces options pour le callphys.def : &lt;br /&gt;
  &lt;br /&gt;
  callrad = true&lt;br /&gt;
  calladj = true&lt;br /&gt;
tous les autres mots clés à false (y compris `calltherm`). &lt;br /&gt;
&lt;br /&gt;
2) Faire un &amp;quot;makestart&amp;quot; run : permet d'obtenir les fichiers restart à partir du profil de température initial. &lt;br /&gt;
Il s'agit du run dont l'état initial est le profil de température créé par run 1D (`temp_profile.txt` est appliquer à chaque point de grille horizontale du modèle). L'état initial est ainsi une planète isotherme horizontalement mais qui varie verticalement. &lt;br /&gt;
Pour ce run, aucun traceur ne va être utilisé dans le modèle. Néanmoins, il faut renseigner au modèle le nombre de traceurs que nous souhaitons utiliser avec le schéma des panaches thermiques afin qu'il puisse créer la dimension nq et le champ q dans les fichiers `restart_icosa.nc` et `restartfi.nc`. &lt;br /&gt;
dans **callphys.def** : &lt;br /&gt;
&lt;br /&gt;
                  traceur = true&lt;br /&gt;
dans **run_icosa.def** : `nqtot = 2` (par exemple, h2o_vap et h2o_ice)&lt;br /&gt;
dans **traceur.def** : &lt;br /&gt;
                   &lt;br /&gt;
                   2&lt;br /&gt;
                   h2o_vap&lt;br /&gt;
                   h2o_ice&lt;br /&gt;
&lt;br /&gt;
3) Ajout des quantités pour chaque traceur.&lt;br /&gt;
Ici, nous ajoutons les profils pour chacun des traceurs dans les fichiers `restart_icosa.nc` et `restartfi.nc` &amp;quot;à la main&amp;quot; en utilisant le programme python `/processing_codes/tracer_settings.py` pour obtenir des fichiers restart avec la bonne abondance d'eau dans le cas présent. &lt;br /&gt;
&lt;br /&gt;
4) Commencer la simulation :&lt;br /&gt;
Il ne reste plus qu'à lancer la simulation 3D avec les nouveaux fichiers restart et les réglages suivant : &lt;br /&gt;
dans **callphys.def** :&lt;br /&gt;
&lt;br /&gt;
                    traceur = true&lt;br /&gt;
                    calltherm = true&lt;br /&gt;
                    # thermal plume model options:&lt;br /&gt;
                    divmpl = true&lt;br /&gt;
                    r_aspect_thermals = 2.0&lt;br /&gt;
                    tau_thermals      = 0.0&lt;br /&gt;
                    betalpha          = 0.9&lt;br /&gt;
                    afact             = 0.7&lt;br /&gt;
                    fact_epsilon      = 2.e-4&lt;br /&gt;
                    alpha_max         = 0.7&lt;br /&gt;
                    fomass_max        = 0.5&lt;br /&gt;
                    pres_limit        = 2.e5&lt;br /&gt;
                    water             = true&lt;br /&gt;
                    watercond         = true&lt;br /&gt;
                    waterain          = true&lt;br /&gt;
                    evap_prec         = true&lt;br /&gt;
&lt;br /&gt;
dans **run_icosa.def** : `nqtot = 2`&lt;br /&gt;
dans **traceur.def** :&lt;br /&gt;
&lt;br /&gt;
                   2&lt;br /&gt;
                   h2o_vap&lt;br /&gt;
                   h2o_ice&lt;br /&gt;
   &lt;br /&gt;
Enfin, ajouter la déclaration et l'écriture des variables relatives à l'utilisation du schéma des thermiques (`h2o_vap`, `h2o_ice`, `w_plm`) dans les fichiers XML de la physique.&lt;br /&gt;
 &lt;br /&gt;
## H) Rotation&lt;br /&gt;
&lt;br /&gt;
Dans [name_of_planet]_const.def, changer le taux de rotation.&lt;br /&gt;
&lt;br /&gt;
Cela n'a jamais été testé avec 0, mais cela pourrait créer des problèmes (ex: beta).&lt;br /&gt;
*vérifier que omega dans saturn_const.def n'intervient pas dans la physique LMDZ.GENERIC/libf/phystd/*&lt;br /&gt;
&lt;br /&gt;
## I) Appel à la physique&lt;br /&gt;
&lt;br /&gt;
Il faut changer à *deux endroits* en réglant la même valeur:&lt;br /&gt;
- dans run_icosa.def, changer itau_physics ;&lt;br /&gt;
- dans run.def, changer iphysiq.&lt;br /&gt;
Ces paramètres sont exprimés en pas de temps dynamique. &lt;br /&gt;
Pour appeler la physique à chaque pas de temps dynamique, régler ces paramètres à 1.&lt;br /&gt;
&lt;br /&gt;
# 5. Ecriture des fichiers&lt;br /&gt;
## A) Nombre d'écriture dans chaque Xhistins.nc&lt;br /&gt;
&lt;br /&gt;
Prenons l'exemple de l'écriture d'un fichier sur une simu Uranus pour 1000j &lt;br /&gt;
&lt;br /&gt;
Nombre d'écriture = day_step X ndays/(itau_physics X output_freq)&lt;br /&gt;
&lt;br /&gt;
- ndays = 1000&lt;br /&gt;
- day_step = 200&lt;br /&gt;
- itau_physics = 50&lt;br /&gt;
- output_freq = 200&lt;br /&gt;
&lt;br /&gt;
On a 20 sorties tous les 1000 jours.&lt;br /&gt;
&lt;br /&gt;
Globalement, il est conseillé d'avoir 800 à 1000 sorties minimum par année planétaire (voir beaucoup plus en fonction de votre étude).&lt;br /&gt;
&lt;br /&gt;
## B) Ajouter une variable&lt;br /&gt;
&lt;br /&gt;
Pour ajouter une variable dans le fichier de sortie Xhistins.nc, il faut l'ajouter dans le field_group correspondant et s'assurer que cette variable est présente en tant que variable de sortie dans dynamico-giant/code/LMDZ.GENERIC/libf/phystd/physiq_mod.F90. Si ce n'est pas le cas, il faut faire un call writediagfi de la variable puis l'ajouter dans un call send_xios_field. &lt;br /&gt;
&lt;br /&gt;
## C) Forcer XIOS à écrire tous les ....&lt;br /&gt;
&lt;br /&gt;
Il faut utiliser l'attribut (ici par ex pour forcer l'écriture tous les ts (==time step) ; d'autres délais doivent être possible):&lt;br /&gt;
```sync_freq=&amp;quot;1ts&amp;quot;```&lt;br /&gt;
dans le ```&amp;lt;file id=... .... &amp;gt;``` concerné. &lt;br /&gt;
&lt;br /&gt;
## D) XIOS server ou client&lt;br /&gt;
&lt;br /&gt;
1) XIOS client `use_server=False`&lt;br /&gt;
Broadwell 24 processeurs sur 28&lt;br /&gt;
&lt;br /&gt;
2) XIOS server `use_server=true`&lt;br /&gt;
Broadwell 24 processurs sur 28 + 4 processeurs pour XIOS&lt;br /&gt;
&lt;br /&gt;
Le cas 1 est 3 min plus lent que le cas 2 -- sur 2h20...(!) parce qu'on fait peu de sorties.&lt;br /&gt;
&lt;br /&gt;
# 6. Running the model&lt;br /&gt;
## A) Compilation&lt;br /&gt;
&lt;br /&gt;
Pour compiler le modèle, il suffit d'aller dans le dossier avec vos fichiers .def et .xml et d'utiliser le script compile_occigen.sh si on est sur occigen ou compile_ciclad.sh si on est sur ciclad&lt;br /&gt;
&lt;br /&gt;
`./compile_occigen.sh`&lt;br /&gt;
&lt;br /&gt;
Les options qui peuvent être modifiées/ajoutées sont&lt;br /&gt;
- -s : le nombre de scatterers&lt;br /&gt;
- -parallel: mpi ou mpi_omp&lt;br /&gt;
- -arch: le nom du ficher d'architecture&lt;br /&gt;
- -arch_path: le chemin vers ce fichier&lt;br /&gt;
- -job: 8 (conseillé)&lt;br /&gt;
- -full: compile le code entièrement&lt;br /&gt;
- -debug: pour trouver un éventuel bug. A ENLEVER obligatoirement s'il n'y a plus de bug car multiplie par 5 votre temp de calcul.&lt;br /&gt;
&lt;br /&gt;
En 1D, d'autres options sont nécessaires:&lt;br /&gt;
- -t: nombre de traceurs&lt;br /&gt;
- -d: nombre de niveaux verticaux&lt;br /&gt;
- -parallel: none (en 1D uniquement)&lt;br /&gt;
&lt;br /&gt;
### - Versions fonctionnelles de dynamico-giant&lt;br /&gt;
&lt;br /&gt;
**Jupiter**&lt;br /&gt;
- XIOS revision 1583  &lt;br /&gt;
- ICOSAGCM revision 756  &lt;br /&gt;
- IOIPSL revision 339  &lt;br /&gt;
- FCM_V1.2 revision 12  &lt;br /&gt;
- Physics revision 2228 (LMDZ.COMMON, LMDZ.GENERIC, ICOSA_LMDZ, ARCH) &lt;br /&gt;
&lt;br /&gt;
but check Physics version 2142 and 2180&lt;br /&gt;
&lt;br /&gt;
**Saturne (référence Spiga 2020, à vérifier)**&lt;br /&gt;
- DYNAMICO --&amp;gt; Revision: 756&lt;br /&gt;
- PHYSICS --&amp;gt; Revision: 2005&lt;br /&gt;
- XIOS --&amp;gt; Revision: 1583&lt;br /&gt;
- IOIPSL --&amp;gt; Revision: 310?&lt;br /&gt;
&lt;br /&gt;
**Saturne (simulation de référence sur 61 niveaux, Bardet et al. Icarus 2021)**&lt;br /&gt;
- XIOS revision 1583  &lt;br /&gt;
- ICOSAGCM revision 765  &lt;br /&gt;
- IOIPSL revision 310  &lt;br /&gt;
- FCM_V1.2 revision 12  &lt;br /&gt;
- Physics revision 2005 (LMDZ.COMMON, LMDZ.GENERIC, ICOSA_LMDZ, ARCH) &lt;br /&gt;
&lt;br /&gt;
**Saturne (simulation avec la GWD paramétrisation sur 61 niveaux, chapitre 6 PhD Bardet)**&lt;br /&gt;
- XIOS revision 1583  &lt;br /&gt;
- ICOSAGCM revision 765  &lt;br /&gt;
- IOIPSL revision 310  &lt;br /&gt;
- FCM_V1.2 revision 12  &lt;br /&gt;
- Physics revision 2213 (LMDZ.COMMON, LMDZ.GENERIC, ICOSA_LMDZ, ARCH)  &lt;br /&gt;
&lt;br /&gt;
**Saturne (simulation sur 96 niveaux, Bardet et al. Nature Astronomy 2022)**&lt;br /&gt;
- XIOS revision 1583  &lt;br /&gt;
- ICOSAGCM revision 765  &lt;br /&gt;
- IOIPSL revision 431  &lt;br /&gt;
- FCM_V1.2 revision 12  &lt;br /&gt;
- Physics revision 2305 (LMDZ.COMMON, LMDZ.GENERIC, ICOSA_LMDZ, ARCH)&lt;br /&gt;
&lt;br /&gt;
**Saturne (simulation avec la GWD paramétrisation sur 96 niveaux, chapitre 6 PhD Bardet)**&lt;br /&gt;
- XIOS revision 1583  &lt;br /&gt;
- ICOSAGCM revision 765  &lt;br /&gt;
- IOIPSL revision 431  &lt;br /&gt;
- FCM_V1.2 revision 12  &lt;br /&gt;
- Physics revision 2403 (LMDZ.COMMON, LMDZ.GENERIC, ICOSA_LMDZ, ARCH)  &lt;br /&gt;
&lt;br /&gt;
**Uranus &amp;amp; Neptune (old version)** &lt;br /&gt;
- XIOS revision 1944 &lt;br /&gt;
- ICOSAGCM revision 765&lt;br /&gt;
- IOIPSL revision 431&lt;br /&gt;
- FCM_V1.2 revision 12  &lt;br /&gt;
- Physics revision 2413 (LMDZ.COMMON, LMDZ.GENERIC, ICOSA_LMDZ, ARCH) &lt;br /&gt;
&lt;br /&gt;
**Uranus &amp;amp; Neptune (new version)** &lt;br /&gt;
- XIOS revision 2203&lt;br /&gt;
- ICOSAGCM revision (20/08/2021)&lt;br /&gt;
- IOIPSL revision 450&lt;br /&gt;
- FCM_V1.2 revision 12  &lt;br /&gt;
- Physics revision 2555 (LMDZ.COMMON, LMDZ.GENERIC, ICOSA_LMDZ, ARCH) &lt;br /&gt;
&lt;br /&gt;
**Jupiter, Saturne, Uranus &amp;amp; Neptune [OCCIGEN VERSION]**&lt;br /&gt;
- XIOS revision 2319&lt;br /&gt;
- ICOSAGCM revision (90f7138a60ebd3644fbbc42bc9dfa22923386385)&lt;br /&gt;
- IOIPSL revision 453&lt;br /&gt;
- FCM_V1.2 revision 12  &lt;br /&gt;
- Physics revision 2655 (LMDZ.COMMON, LMDZ.GENERIC, ICOSA_LMDZ, ARCH) &lt;br /&gt;
&lt;br /&gt;
**Jupiter, Saturne, Uranus &amp;amp; Neptune [IRENE VERSION]**&lt;br /&gt;
- XIOS revision 2399&lt;br /&gt;
- ICOSAGCM revision (4fbd393a9051fd9c1a5b662683f6ad8d0dc2867c)&lt;br /&gt;
- IOIPSL revision 6234&lt;br /&gt;
- FCM_V1.2 revision 12  &lt;br /&gt;
- Physics revision 2842 (LMDZ.COMMON, LMDZ.GENERIC, ICOSA_LMDZ, ARCH) &lt;br /&gt;
&lt;br /&gt;
## B) Run 1D&lt;br /&gt;
&lt;br /&gt;
Pour une simulation 1D, 1 seul CPU suffit.&lt;br /&gt;
&lt;br /&gt;
To run on Occigen:&lt;br /&gt;
&lt;br /&gt;
`sbatch job_mpi`&lt;br /&gt;
&lt;br /&gt;
To run on Irene:&lt;br /&gt;
&lt;br /&gt;
`ccc_msub job_mpi`&lt;br /&gt;
&lt;br /&gt;
To see evolution of your job on Occigen:&lt;br /&gt;
&lt;br /&gt;
`squeue -u username`&lt;br /&gt;
&lt;br /&gt;
To see evolution of your job on Irene:&lt;br /&gt;
&lt;br /&gt;
`ccc_mpp -u username`&lt;br /&gt;
&lt;br /&gt;
To kill your job on Occigen:&lt;br /&gt;
&lt;br /&gt;
`scancel id_of_your_job`&lt;br /&gt;
&lt;br /&gt;
To kill your job on Irene:&lt;br /&gt;
&lt;br /&gt;
`ccc_mdel id_of_your_job`&lt;br /&gt;
&lt;br /&gt;
Une fois que votre simulation est fini, lancer le script python printapbp.py qui vous permettra d'obtenir les fichiers apbp.txt et temp_profile.txt nécessaires pour les simulations en 3D.&lt;br /&gt;
&lt;br /&gt;
## C) Run 3D&lt;br /&gt;
&lt;br /&gt;
Pour lancer une première simulation, il faut tout d'abord le faire une seule fois dans le dossier makestart de l'un des dossiers jupiter, saturne, uranus ou neptune. Ce dernier permettra de créer les premiers fichiers restart_icosa.nc et restartfi.nc. Ensuite, il suffit revenir dans le dossier parent (jupiter, saturne, uranus, neptune) et de lancer ses simulations.&lt;br /&gt;
&lt;br /&gt;
### - MPI&lt;br /&gt;
&lt;br /&gt;
Avant de lancer une simulation, il est nécessaire de déterminer&lt;br /&gt;
- le nombre de procs&lt;br /&gt;
- le nombre de noeuds&lt;br /&gt;
&lt;br /&gt;
Il faut avant tout savoir qu'il y a 10 x nsplit_i x nsplit_j domaines.&lt;br /&gt;
Ces domaines sont divisés en plusieurs cellules. Il y a (nbp)²/(nsplit_i x nsplit_j) cellules par domaine. Ce nombre est égal au nombre de MPI process.&lt;br /&gt;
&lt;br /&gt;
Il est important de ne pas faire des tuiles &amp;quot;trop petites&amp;quot; et donc de garder nsplit_i et nsplit_j tels que nbp/nsplit_{i,j} &amp;gt;=10-15 (plutôt 15). Car il y a des calculs &amp;quot;redondants&amp;quot; faits sur les bords du domaine. Admettons que ton domaine soit 10 x 10 (100 cellules par domaine). Le nombre de cellules au bord du domaine est égal à 2 x nsplit_i + 2 x nsplit_j - 4. Dans ce cas, le nombre de cellules au bord est de 36. Cela signifie que le bord du domaine correspond à 36% du domaine (36 points sur 100). Si le domaine est 15 x 15, alors le bord du domaine n'est plus que de 24.8 %. On aimerait avoir des domaines les plus grands possibles mais il faut aussi voir que chaque cellule correspond à une colonne à résoudre... Et c'est là ou il faut expérimenter un peu pour trouver l'optimum entre le nombre total de proc à employer et le gain effectif (temps total &amp;quot;facturé&amp;quot; au vu du nombre de procs monopolisés pour une simu donnée).&lt;br /&gt;
Ehouarn&lt;br /&gt;
&lt;br /&gt;
Il faut au total que le nombre de procs soit égal à 10 x nsplit_i x nsplit_j qu'il faut répartir entre les noeuds.&lt;br /&gt;
&lt;br /&gt;
Pour les noeuds, il faut tenir compte qu'un noeud sur Occigen, c'est 24 (ou 28) procs. Disons 24. Quand on demande N procs, le système te donne M noeuds, soit M X 24 procs (les noeuds ne sont pas partagés avec d'autres applications). Et bien sûr on te facturera ces M noeuds, même si tu n'utilises pas tous les procs. Donc il faut s'efforcer de tomber juste et demander un multiple de 24 procs. Même raisonement si tu demandes à utiliser des noeuds de 28 procs.&lt;br /&gt;
&lt;br /&gt;
Par exemple, nsplit_i = 4 et nsplit_j = 6. 4 x 6 est égal à 24.&lt;br /&gt;
On utilisera donc 10 noeuds pour avoir 240 nprocs.&lt;br /&gt;
&lt;br /&gt;
Prenons un autre exemple. nsplit_i = 5 et nsplit_j = 6. 5x6 = 30&lt;br /&gt;
Or il y a 24 procs par noeuds. Il faudra utiliser 13 noeuds. Et ce ne sont pas 300 procs qui seront facturés au total mais 312.&lt;br /&gt;
&lt;br /&gt;
Mais comme vu plus haut, en fonction de la configuration de tes domaines, il est possible que le 2nd exemple coûte moins cher en heure CPU que le 1er exemple car il sera plus rapide.&lt;br /&gt;
&lt;br /&gt;
### - OpenMP / MPI&lt;br /&gt;
&lt;br /&gt;
Dans le cas mixte OpenMP/MPI, il est nécessaire de renseigner le nombre de tâche OpenMP et de MPI threads. Dans le script pour le job, on a :&lt;br /&gt;
&lt;br /&gt;
cpus-per-task et OMP_NUM_THREADS correspondent au nombre de tâche OpenMP&lt;br /&gt;
ntask-per-node correspond au nombre de tâche par noeud&lt;br /&gt;
&lt;br /&gt;
Pour déterminer la configuration à utiliser en OpenMP/MPI, il faut respecter ces règles:&lt;br /&gt;
- ntask-per-node x nodes correspond au nombre total de MPI threads qu'il devrait y avoir (c'est-à-dire dans le cas MPI seul).&lt;br /&gt;
- cpus-per-task x ntask-per-node doit être égale ou inférieur au nombre de procs par noeuds (24 ou 28- sur Occigen)&lt;br /&gt;
- cpus-per-task devrait être ~égal au nombre de niveaux verticaux / 10&lt;br /&gt;
- OMP_NUM_THREADS doit être égal au cpus-per-task&lt;br /&gt;
- omp_level_size (dans le fichier run_icosa.def) devrait être ~égal au nombre de cpus-per-task. (dans le cas MPI seul, il faut le laisser égal à 1)&lt;br /&gt;
&lt;br /&gt;
Au total, le nombre total de nprocs est égal à cpus-per-task x ntask-per-node x nodes&lt;br /&gt;
&lt;br /&gt;
En reprenant le premier exemple MPI (on suppose qu'on a 40 niveaux verticaux), on aura&lt;br /&gt;
- cpus-per-task = 4&lt;br /&gt;
- ntask-per-norde = 6&lt;br /&gt;
On a bien cpus-per-task x ntask-per-norde &amp;lt;= 24.&lt;br /&gt;
Le nombre de noeuds doit être égal à 40 car 6x40 = 240 nprocs MPI&lt;br /&gt;
Le nombre de procs qu'on utilisera au total sera de 960.&lt;br /&gt;
&lt;br /&gt;
### - Comment déterminer le nombre d'heure CPU (consommation en heure)?&lt;br /&gt;
&lt;br /&gt;
Heures CPU = durée_de_la_simu X nombre de procs total facturé&lt;br /&gt;
&lt;br /&gt;
Si on veut connaître le nombre d'heure CPU qu'on consommera à partir d'un test, voici le calcul&lt;br /&gt;
&lt;br /&gt;
Heures CPU = durée_de_la_simu_test X nombre de procs total facturé X nombre de jour qu'on veut simulé  / (nombre de jour simulées pendant la simu test) &lt;br /&gt;
&lt;br /&gt;
## D) Optimisation&lt;br /&gt;
&lt;br /&gt;
Pour savoir quelle est la meilleure configuration en MPI seul, en OpenMP/MPI et entre les 2, des tests ont été effectués. Ces tests ont été réalisés sur Uranus à nbp80 sur les noeuds Broadwell (28 procs par noeud). 1000 jours uraniens ont été simulés à chaque fois.&lt;br /&gt;
&lt;br /&gt;
**MPI:**&lt;br /&gt;
![](https://web.lmd.jussieu.fr/~gmilcareck/mpi_uranus_occigen_broadwell.png)&lt;br /&gt;
&lt;br /&gt;
**OpenMP/MPI:**&lt;br /&gt;
![](https://web.lmd.jussieu.fr/~gmilcareck/ompmpi_uranus_occigen_broadwell.png)&lt;br /&gt;
&lt;br /&gt;
La comparaison du MPI seul et du mixte OpenMP/MPI permet de tirer la conclusion que le mixte OpenMP/MPI est beaucoup plus rapide (facteur 2.5 à 3) mais consomme plus (facteur 1.1 à 1.7).&lt;br /&gt;
&lt;br /&gt;
![](https://web.lmd.jussieu.fr/~gmilcareck/comparaison_uranus_occigen_broadwell.png)&lt;br /&gt;
&lt;br /&gt;
## E) Visualizing the output files&lt;br /&gt;
&lt;br /&gt;
### - Comment comparer deux fichiers? file1.nc file2.nc&lt;br /&gt;
&lt;br /&gt;
ncdiff file1.nc file2.nc output.nc&lt;br /&gt;
&lt;br /&gt;
### - Comment coller plusieurs fichiers file1.nc file2.nc file3.nc&lt;br /&gt;
&lt;br /&gt;
ncrcat file1.nc file2.nc file3.nc output.nc&lt;br /&gt;
&lt;br /&gt;
Avec juste la vitesse u et v:&lt;br /&gt;
ncrcat -v u -v v file1.nc file2.nc file3.nc output.nc&lt;br /&gt;
&lt;br /&gt;
Avec tous les fichiers fileXXX.nc disponibles&lt;br /&gt;
ncrcat file*.nc output.nc&lt;br /&gt;
&lt;br /&gt;
### - Comment tracer les champs et divers diagnostics en moyenne zonale?&lt;br /&gt;
&lt;br /&gt;
* mettre à jour planetoplot et planets&lt;br /&gt;
* utiliser precast.py dans planetoplot/examples/ppclass_additional/dynanalysis &lt;br /&gt;
* changer les options au début (il y a des exemples), exemple pour Saturne &lt;br /&gt;
```python&lt;br /&gt;
fileAP=&amp;quot;Xhistins_42.nc&amp;quot;&lt;br /&gt;
p_upper,p_lower,nlev = 4.0e2,2.5e5,40&lt;br /&gt;
targetp1d = np.logspace(np.log10(p_lower),np.log10(p_upper),nlev)&lt;br /&gt;
myp = planets.Saturn&lt;br /&gt;
day_per_year = 24430.&lt;br /&gt;
short = False&lt;br /&gt;
includels = False&lt;br /&gt;
charx = &amp;quot;0,360&amp;quot;&lt;br /&gt;
ispressure = False&lt;br /&gt;
vartemp = &amp;quot;temperature&amp;quot;&lt;br /&gt;
outfile = &amp;quot;precast.nc&amp;quot;&lt;br /&gt;
nopole = True&lt;br /&gt;
```&lt;br /&gt;
* Il faut que apbp.txt soit présent !&lt;br /&gt;
* Le résultat se trouve dans le fichier indiqué dans outfile.&lt;br /&gt;
&lt;br /&gt;
## F) Debug&lt;br /&gt;
&lt;br /&gt;
### - Pour debugger&lt;br /&gt;
&lt;br /&gt;
Réglez `info_level` à `100` dans le fichier `iodef.xml` .&lt;br /&gt;
&lt;br /&gt;
### - Erreur en début de run, SEGMENTATION FAULT dans la routine `advect.f90` (ICOSAGCM/ppsrc/transport) au niveau de l'appel à `cross_product2`&lt;br /&gt;
&lt;br /&gt;
La routine `cross_product2` effectue des produits vectoriels. Cette erreur vient du fait qu'en essayant de faire des optimisations de calcul, le compilateur se prend &amp;quot;les pieds dans le tapis&amp;quot; et ne sait plus faire le produit vectoriel. &lt;br /&gt;
Pour empêcher le compilateur de faire des optimisations trop poussées, il faut ajouter l'option `-fp-model strict` au niveau du mot-clé `%BASE_FFLAGS` dans tous les fichiers `.fcm` du modèle (LMDZ.COMMON / ICOSAGCM / ICOSA_LMDZ).&lt;br /&gt;
&lt;br /&gt;
## G) Pas de radiatif et perturbations&lt;br /&gt;
&lt;br /&gt;
* faire descendre le modèle&lt;br /&gt;
* modifier le code pour perturbations vitesse et pas température&lt;br /&gt;
* compiler (voir README.md)&lt;br /&gt;
* changer dans callphys.def (dans saturn/makestart)&lt;br /&gt;
```&lt;br /&gt;
surfalbedo = 1.0&lt;br /&gt;
surfemis = 0.0&lt;br /&gt;
```&lt;br /&gt;
* changer dans callphys.def (dans saturn **et** saturn/makestart)&lt;br /&gt;
```&lt;br /&gt;
corrk      = .false.&lt;br /&gt;
enertest  = .true.&lt;br /&gt;
randompert = 1&lt;br /&gt;
```&lt;br /&gt;
* voir si on garde le flux interne ou non (```intheat```)&lt;br /&gt;
* refaire les états initiaux (dans makestart)&lt;br /&gt;
* faire un run court pour voir sur les spectres l'injection d'Ek&lt;br /&gt;
&lt;br /&gt;
## H) PROFILING with DYNAMICO-Giant&lt;br /&gt;
&lt;br /&gt;
`-pg`: Generate extra code to write profile information suitable for analysis program `gprof`. You must use this option when compiling the sources files you want data about and you must **also use it when linking**.&lt;br /&gt;
1. For DYNAMICO-Giant: in the arch.fcm file of each part of the model (ICOSAGCM, ICOSA_LMDZ, LMDZ.COMMON and XIOS), you have to add the option `-pg` to `%PROD_FFLAGS` and `%BASE_LD`&lt;br /&gt;
2. Compile as usual &lt;br /&gt;
3. Execute your code as usual&lt;br /&gt;
4. Run `gprof` tool: &lt;br /&gt;
&lt;br /&gt;
        gprof icosa_lmdz.exe goon.out &amp;gt; analysis.txt&lt;/div&gt;</summary>
		<author><name>Aspiga</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Installing_Mars_mesoscale_model_on_spirit&amp;diff=1166</id>
		<title>Installing Mars mesoscale model on spirit</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Installing_Mars_mesoscale_model_on_spirit&amp;diff=1166"/>
				<updated>2023-01-23T16:24:35Z</updated>
		
		<summary type="html">&lt;p&gt;Aspiga: /* Set up environment */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Set up environment ==&lt;br /&gt;
&lt;br /&gt;
Add this in your ~/.bashrc then source the file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
module purge&lt;br /&gt;
module load intel/2021.4.0&lt;br /&gt;
module load intel-mkl/2020.4.304&lt;br /&gt;
module load openmpi/4.0.7&lt;br /&gt;
module load hdf5/1.10.7-mpi&lt;br /&gt;
module load netcdf-fortran/4.5.3-mpi&lt;br /&gt;
module load netcdf-c/4.7.4-mpi&lt;br /&gt;
declare -x WHERE_MPI=/net/nfs/tools/u20/22.3/PrgEnv/intel/linux-ubuntu20.04-zen2/openmpi/4.0.7-intel-2021.4.0-43fdcnab3ydwu7ycrplnzlp6xieusuz7/bin/&lt;br /&gt;
declare -x NETCDF=/scratchu/spiga/les_mars_project_spirit/netcdf_hacks/SPIRIT&lt;br /&gt;
declare -x NCDFLIB=$NETCDF/lib&lt;br /&gt;
declare -x NCDFINC=$NETCDF/include&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Do not forget to declare the local directory in PATH by adding this to your ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
declare -x PATH=./:$PATH&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is necessary to unlimit the stacksize to avoit unwanted segmentation faults by adding this to your ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
ulimit -s unlimited&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the end, source the .bashrc file!&lt;br /&gt;
&lt;br /&gt;
== Set up the installer ==&lt;br /&gt;
&lt;br /&gt;
Go to your 'data' directory (cd /homedata/_MY_LOGIN_ ''or'' cd /data/_MY_LOGIN_) and download the installer with the following command&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
svn co https://svn.lmd.jussieu.fr/Planeto/trunk/MESOSCALE/LMD_MM_MARS/SIMU&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure the installer can be executed&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
chmod 755 SIMU/meso_install.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make a link (e.g. where you are, in the parent directory of /data) to the main script in this SIMU directory&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
ln -sf SIMU/meso_install.sh .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run the installer with a simple display of possible options&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
./meso_install.sh -h&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install the code ==&lt;br /&gt;
&lt;br /&gt;
Update to the latest version of installer&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
cd SIMU&lt;br /&gt;
svn update&lt;br /&gt;
chmod 755 meso_install.sh&lt;br /&gt;
cd ..&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run the installer by providing a name for your specific directory&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
./meso_install.sh -n DESCRIBE_YOUR_RESEARCH_PROJECT&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Special case'': In case you do not have a gitlab account, ask for an archive (tar.gz) of the code.&lt;br /&gt;
Let us assume the name is git-trunk-mesoscale-compile-run-spirit.tar.gz &lt;br /&gt;
and the file is in the current directory (for instance in /homedata/_MY_LOGIN_)&lt;br /&gt;
then run the installer with the following command&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
./meso_install.sh -n DESCRIBE_YOUR_RESEARCH_PROJECT -a git-trunk-mesoscale-compile-run-spirit&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Weird!'' fcm is not working interactively. It only works if being declared in the environment file by adding&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
declare -x PATH=/homedata/_MY_LOGIN_/DESCRIBE_YOUR_RESEARCH_PROJECT/code/LMDZ.COMMON/FCM_V1.2/bin/:$PATH&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
then recompile the GCM compiling (which had failed previously by doing&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
cd /homedata/_MY_LOGIN_/DESCRIBE_YOUR_RESEARCH_PROJECT/&lt;br /&gt;
./compile_gcm.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Aspiga</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Installing_Mars_mesoscale_model_on_spirit&amp;diff=1165</id>
		<title>Installing Mars mesoscale model on spirit</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Installing_Mars_mesoscale_model_on_spirit&amp;diff=1165"/>
				<updated>2023-01-23T16:22:58Z</updated>
		
		<summary type="html">&lt;p&gt;Aspiga: /* Set up environment */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Set up environment ==&lt;br /&gt;
&lt;br /&gt;
Add this in your ~/.bashrc then source the file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
module purge&lt;br /&gt;
module load intel/2021.4.0&lt;br /&gt;
module load intel-mkl/2020.4.304&lt;br /&gt;
module load openmpi/4.0.7&lt;br /&gt;
module load hdf5/1.10.7-mpi&lt;br /&gt;
module load netcdf-fortran/4.5.3-mpi&lt;br /&gt;
module load netcdf-c/4.7.4-mpi&lt;br /&gt;
declare -x WHERE_MPI=/net/nfs/tools/u20/22.3/PrgEnv/intel/linux-ubuntu20.04-zen2/openmpi/4.0.7-intel-2021.4.0-43fdcnab3ydwu7ycrplnzlp6xieusuz7/bin/&lt;br /&gt;
declare -x NETCDF=/scratchu/spiga/les_mars_project_spirit/netcdf_hacks/SPIRIT&lt;br /&gt;
declare -x NCDFLIB=$NETCDF/lib&lt;br /&gt;
declare -x NCDFINC=$NETCDF/include&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Do not forget to declare the local directory in PATH by adding this to your ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
declare -x PATH=./:$PATH&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is necessary to unlimit the stacksize to avoit unwanted segmentation faults by adding this to your ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
ulimit -s unlimited&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Set up the installer ==&lt;br /&gt;
&lt;br /&gt;
Go to your 'data' directory (cd /homedata/_MY_LOGIN_ ''or'' cd /data/_MY_LOGIN_) and download the installer with the following command&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
svn co https://svn.lmd.jussieu.fr/Planeto/trunk/MESOSCALE/LMD_MM_MARS/SIMU&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure the installer can be executed&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
chmod 755 SIMU/meso_install.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make a link (e.g. where you are, in the parent directory of /data) to the main script in this SIMU directory&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
ln -sf SIMU/meso_install.sh .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run the installer with a simple display of possible options&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
./meso_install.sh -h&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install the code ==&lt;br /&gt;
&lt;br /&gt;
Update to the latest version of installer&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
cd SIMU&lt;br /&gt;
svn update&lt;br /&gt;
chmod 755 meso_install.sh&lt;br /&gt;
cd ..&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run the installer by providing a name for your specific directory&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
./meso_install.sh -n DESCRIBE_YOUR_RESEARCH_PROJECT&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Special case'': In case you do not have a gitlab account, ask for an archive (tar.gz) of the code.&lt;br /&gt;
Let us assume the name is git-trunk-mesoscale-compile-run-spirit.tar.gz &lt;br /&gt;
and the file is in the current directory (for instance in /homedata/_MY_LOGIN_)&lt;br /&gt;
then run the installer with the following command&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
./meso_install.sh -n DESCRIBE_YOUR_RESEARCH_PROJECT -a git-trunk-mesoscale-compile-run-spirit&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Weird!'' fcm is not working interactively. It only works if being declared in the environment file by adding&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
declare -x PATH=/homedata/_MY_LOGIN_/DESCRIBE_YOUR_RESEARCH_PROJECT/code/LMDZ.COMMON/FCM_V1.2/bin/:$PATH&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
then recompile the GCM compiling (which had failed previously by doing&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
cd /homedata/_MY_LOGIN_/DESCRIBE_YOUR_RESEARCH_PROJECT/&lt;br /&gt;
./compile_gcm.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Aspiga</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Installing_Mars_mesoscale_model_on_spirit&amp;diff=1164</id>
		<title>Installing Mars mesoscale model on spirit</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Installing_Mars_mesoscale_model_on_spirit&amp;diff=1164"/>
				<updated>2023-01-23T16:11:06Z</updated>
		
		<summary type="html">&lt;p&gt;Aspiga: /* Install the code */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Set up environment ==&lt;br /&gt;
&lt;br /&gt;
Add this in your ~/.bashrc then source the file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
module purge&lt;br /&gt;
module load intel/2021.4.0&lt;br /&gt;
module load intel-mkl/2020.4.304&lt;br /&gt;
module load openmpi/4.0.7&lt;br /&gt;
module load hdf5/1.10.7-mpi&lt;br /&gt;
module load netcdf-fortran/4.5.3-mpi&lt;br /&gt;
module load netcdf-c/4.7.4-mpi&lt;br /&gt;
declare -x WHERE_MPI=/net/nfs/tools/u20/22.3/PrgEnv/intel/linux-ubuntu20.04-zen2/openmpi/4.0.7-intel-2021.4.0-43fdcnab3ydwu7ycrplnzlp6xieusuz7/bin/&lt;br /&gt;
declare -x NETCDF=/scratchu/spiga/les_mars_project_spirit/netcdf_hacks/SPIRIT&lt;br /&gt;
declare -x NCDFLIB=$NETCDF/lib&lt;br /&gt;
declare -x NCDFINC=$NETCDF/include&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Do not forget to declare the local directory in PATH&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
declare -x PATH=./:$PATH&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Set up the installer ==&lt;br /&gt;
&lt;br /&gt;
Go to your 'data' directory (cd /homedata/_MY_LOGIN_ ''or'' cd /data/_MY_LOGIN_) and download the installer with the following command&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
svn co https://svn.lmd.jussieu.fr/Planeto/trunk/MESOSCALE/LMD_MM_MARS/SIMU&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure the installer can be executed&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
chmod 755 SIMU/meso_install.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make a link (e.g. where you are, in the parent directory of /data) to the main script in this SIMU directory&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
ln -sf SIMU/meso_install.sh .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run the installer with a simple display of possible options&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
./meso_install.sh -h&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install the code ==&lt;br /&gt;
&lt;br /&gt;
Update to the latest version of installer&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
cd SIMU&lt;br /&gt;
svn update&lt;br /&gt;
chmod 755 meso_install.sh&lt;br /&gt;
cd ..&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run the installer by providing a name for your specific directory&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
./meso_install.sh -n DESCRIBE_YOUR_RESEARCH_PROJECT&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Special case'': In case you do not have a gitlab account, ask for an archive (tar.gz) of the code.&lt;br /&gt;
Let us assume the name is git-trunk-mesoscale-compile-run-spirit.tar.gz &lt;br /&gt;
and the file is in the current directory (for instance in /homedata/_MY_LOGIN_)&lt;br /&gt;
then run the installer with the following command&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
./meso_install.sh -n DESCRIBE_YOUR_RESEARCH_PROJECT -a git-trunk-mesoscale-compile-run-spirit&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Weird!'' fcm is not working interactively. It only works if being declared in the environment file by adding&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
declare -x PATH=/homedata/_MY_LOGIN_/DESCRIBE_YOUR_RESEARCH_PROJECT/code/LMDZ.COMMON/FCM_V1.2/bin/:$PATH&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
then recompile the GCM compiling (which had failed previously by doing&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
cd /homedata/_MY_LOGIN_/DESCRIBE_YOUR_RESEARCH_PROJECT/&lt;br /&gt;
./compile_gcm.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Aspiga</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Installing_Mars_mesoscale_model_on_spirit&amp;diff=1163</id>
		<title>Installing Mars mesoscale model on spirit</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Installing_Mars_mesoscale_model_on_spirit&amp;diff=1163"/>
				<updated>2023-01-23T16:08:55Z</updated>
		
		<summary type="html">&lt;p&gt;Aspiga: /* Install the code */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Set up environment ==&lt;br /&gt;
&lt;br /&gt;
Add this in your ~/.bashrc then source the file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
module purge&lt;br /&gt;
module load intel/2021.4.0&lt;br /&gt;
module load intel-mkl/2020.4.304&lt;br /&gt;
module load openmpi/4.0.7&lt;br /&gt;
module load hdf5/1.10.7-mpi&lt;br /&gt;
module load netcdf-fortran/4.5.3-mpi&lt;br /&gt;
module load netcdf-c/4.7.4-mpi&lt;br /&gt;
declare -x WHERE_MPI=/net/nfs/tools/u20/22.3/PrgEnv/intel/linux-ubuntu20.04-zen2/openmpi/4.0.7-intel-2021.4.0-43fdcnab3ydwu7ycrplnzlp6xieusuz7/bin/&lt;br /&gt;
declare -x NETCDF=/scratchu/spiga/les_mars_project_spirit/netcdf_hacks/SPIRIT&lt;br /&gt;
declare -x NCDFLIB=$NETCDF/lib&lt;br /&gt;
declare -x NCDFINC=$NETCDF/include&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Do not forget to declare the local directory in PATH&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
declare -x PATH=./:$PATH&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Set up the installer ==&lt;br /&gt;
&lt;br /&gt;
Go to your 'data' directory (cd /homedata/_MY_LOGIN_ ''or'' cd /data/_MY_LOGIN_) and download the installer with the following command&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
svn co https://svn.lmd.jussieu.fr/Planeto/trunk/MESOSCALE/LMD_MM_MARS/SIMU&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure the installer can be executed&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
chmod 755 SIMU/meso_install.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make a link (e.g. where you are, in the parent directory of /data) to the main script in this SIMU directory&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
ln -sf SIMU/meso_install.sh .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run the installer with a simple display of possible options&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
./meso_install.sh -h&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install the code ==&lt;br /&gt;
&lt;br /&gt;
Update to the latest version of installer&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
cd SIMU&lt;br /&gt;
svn update&lt;br /&gt;
chmod 755 meso_install.sh&lt;br /&gt;
cd ..&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run the installer by providing a name for your specific directory&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
./meso_install.sh -n DESCRIBE_YOUR_RESEARCH_PROJECT&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Special case'': In case you do not have a gitlab account, ask for an archive (tar.gz) of the code.&lt;br /&gt;
Let us assume the name is git-trunk-mesoscale-compile-run-spirit.tar.gz &lt;br /&gt;
and the file is in the current directory (for instance in /homedata/_MY_LOGIN_)&lt;br /&gt;
then run the installer with the following command&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
./meso_install.sh -n DESCRIBE_YOUR_RESEARCH_PROJECT -a git-trunk-mesoscale-compile-run-spirit&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Weird!'' fcm is not working interactively. It only works if being declared in the environment file by adding&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
declare -x PATH=/homedata/_MY_LOGIN_/DESCRIBE_YOUR_RESEARCH_PROJECT/code/LMDZ.COMMON/FCM_V1.2/bin/:$PATH&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Aspiga</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Installing_Mars_mesoscale_model_on_spirit&amp;diff=1162</id>
		<title>Installing Mars mesoscale model on spirit</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Installing_Mars_mesoscale_model_on_spirit&amp;diff=1162"/>
				<updated>2023-01-23T15:42:53Z</updated>
		
		<summary type="html">&lt;p&gt;Aspiga: /* Set up environment */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Set up environment ==&lt;br /&gt;
&lt;br /&gt;
Add this in your ~/.bashrc then source the file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
module purge&lt;br /&gt;
module load intel/2021.4.0&lt;br /&gt;
module load intel-mkl/2020.4.304&lt;br /&gt;
module load openmpi/4.0.7&lt;br /&gt;
module load hdf5/1.10.7-mpi&lt;br /&gt;
module load netcdf-fortran/4.5.3-mpi&lt;br /&gt;
module load netcdf-c/4.7.4-mpi&lt;br /&gt;
declare -x WHERE_MPI=/net/nfs/tools/u20/22.3/PrgEnv/intel/linux-ubuntu20.04-zen2/openmpi/4.0.7-intel-2021.4.0-43fdcnab3ydwu7ycrplnzlp6xieusuz7/bin/&lt;br /&gt;
declare -x NETCDF=/scratchu/spiga/les_mars_project_spirit/netcdf_hacks/SPIRIT&lt;br /&gt;
declare -x NCDFLIB=$NETCDF/lib&lt;br /&gt;
declare -x NCDFINC=$NETCDF/include&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Do not forget to declare the local directory in PATH&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
declare -x PATH=./:$PATH&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Set up the installer ==&lt;br /&gt;
&lt;br /&gt;
Go to your 'data' directory (cd /homedata/_MY_LOGIN_ ''or'' cd /data/_MY_LOGIN_) and download the installer with the following command&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
svn co https://svn.lmd.jussieu.fr/Planeto/trunk/MESOSCALE/LMD_MM_MARS/SIMU&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure the installer can be executed&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
chmod 755 SIMU/meso_install.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make a link (e.g. where you are, in the parent directory of /data) to the main script in this SIMU directory&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
ln -sf SIMU/meso_install.sh .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run the installer with a simple display of possible options&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
./meso_install.sh -h&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install the code ==&lt;br /&gt;
&lt;br /&gt;
Update to the latest version of installer&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
cd SIMU&lt;br /&gt;
svn update&lt;br /&gt;
chmod 755 meso_install.sh&lt;br /&gt;
cd ..&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run the installer by providing a name for your specific directory&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
./meso_install.sh -n DESCRIBE_YOUR_RESEARCH_PROJECT&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Special case'': In case you do not have a gitlab account, ask for an archive (tar.gz) of the code.&lt;br /&gt;
Let us assume the name is git-trunk-mesoscale-compile-run-spirit.tar.gz &lt;br /&gt;
and the file is in the current directory (for instance in /homedata/_MY_LOGIN_)&lt;br /&gt;
then run the installer with the following command&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
./meso_install.sh -n DESCRIBE_YOUR_RESEARCH_PROJECT -a git-trunk-mesoscale-compile-run-spirit&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Aspiga</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Installing_Mars_mesoscale_model_on_spirit&amp;diff=1161</id>
		<title>Installing Mars mesoscale model on spirit</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Installing_Mars_mesoscale_model_on_spirit&amp;diff=1161"/>
				<updated>2023-01-23T15:42:25Z</updated>
		
		<summary type="html">&lt;p&gt;Aspiga: /* Set up environment */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Set up environment ==&lt;br /&gt;
&lt;br /&gt;
Add this in your ~/.bashrc then source the file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot; line&amp;gt;&lt;br /&gt;
module purge&lt;br /&gt;
module load intel/2021.4.0&lt;br /&gt;
module load intel-mkl/2020.4.304&lt;br /&gt;
module load openmpi/4.0.7&lt;br /&gt;
module load hdf5/1.10.7-mpi&lt;br /&gt;
module load netcdf-fortran/4.5.3-mpi&lt;br /&gt;
module load netcdf-c/4.7.4-mpi&lt;br /&gt;
declare -x WHERE_MPI=/net/nfs/tools/u20/22.3/PrgEnv/intel/linux-ubuntu20.04-zen2/openmpi/4.0.7-intel-2021.4.0-43fdcnab3ydwu7ycrplnzlp6xieusuz7/bin/&lt;br /&gt;
declare -x NETCDF=/scratchu/spiga/les_mars_project_spirit/netcdf_hacks/SPIRIT&lt;br /&gt;
declare -x NCDFLIB=$NETCDF/lib&lt;br /&gt;
declare -x NCDFINC=$NETCDF/include&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Do not forget to declare the local directory in PATH&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot; line&amp;gt;&lt;br /&gt;
declare -x PATH=./:$PATH&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Set up the installer ==&lt;br /&gt;
&lt;br /&gt;
Go to your 'data' directory (cd /homedata/_MY_LOGIN_ ''or'' cd /data/_MY_LOGIN_) and download the installer with the following command&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
svn co https://svn.lmd.jussieu.fr/Planeto/trunk/MESOSCALE/LMD_MM_MARS/SIMU&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure the installer can be executed&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
chmod 755 SIMU/meso_install.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make a link (e.g. where you are, in the parent directory of /data) to the main script in this SIMU directory&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
ln -sf SIMU/meso_install.sh .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run the installer with a simple display of possible options&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
./meso_install.sh -h&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install the code ==&lt;br /&gt;
&lt;br /&gt;
Update to the latest version of installer&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
cd SIMU&lt;br /&gt;
svn update&lt;br /&gt;
chmod 755 meso_install.sh&lt;br /&gt;
cd ..&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run the installer by providing a name for your specific directory&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
./meso_install.sh -n DESCRIBE_YOUR_RESEARCH_PROJECT&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Special case'': In case you do not have a gitlab account, ask for an archive (tar.gz) of the code.&lt;br /&gt;
Let us assume the name is git-trunk-mesoscale-compile-run-spirit.tar.gz &lt;br /&gt;
and the file is in the current directory (for instance in /homedata/_MY_LOGIN_)&lt;br /&gt;
then run the installer with the following command&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
./meso_install.sh -n DESCRIBE_YOUR_RESEARCH_PROJECT -a git-trunk-mesoscale-compile-run-spirit&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Aspiga</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Installing_Mars_mesoscale_model_on_spirit&amp;diff=1160</id>
		<title>Installing Mars mesoscale model on spirit</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Installing_Mars_mesoscale_model_on_spirit&amp;diff=1160"/>
				<updated>2023-01-23T15:35:28Z</updated>
		
		<summary type="html">&lt;p&gt;Aspiga: /* Install the code */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Set up environment ==&lt;br /&gt;
&lt;br /&gt;
Add this in your ~/.bashrc then source the file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot; line&amp;gt;&lt;br /&gt;
module purge&lt;br /&gt;
module load intel/2021.4.0&lt;br /&gt;
module load intel-mkl/2020.4.304&lt;br /&gt;
module load openmpi/4.0.7&lt;br /&gt;
module load hdf5/1.10.7-mpi&lt;br /&gt;
module load netcdf-fortran/4.5.3-mpi&lt;br /&gt;
module load netcdf-c/4.7.4-mpi&lt;br /&gt;
declare -x WHERE_MPI=/net/nfs/tools/u20/22.3/PrgEnv/intel/linux-ubuntu20.04-zen2/openmpi/4.0.7-intel-2021.4.0-43fdcnab3ydwu7ycrplnzlp6xieusuz7/bin/&lt;br /&gt;
declare -x NETCDF=/scratchu/spiga/les_mars_project_spirit/netcdf_hacks/SPIRIT&lt;br /&gt;
declare -x NCDFLIB=$NETCDF/lib&lt;br /&gt;
declare -x NCDFINC=$NETCDF/include&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Set up the installer ==&lt;br /&gt;
&lt;br /&gt;
Go to your 'data' directory (cd /homedata/_MY_LOGIN_ ''or'' cd /data/_MY_LOGIN_) and download the installer with the following command&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
svn co https://svn.lmd.jussieu.fr/Planeto/trunk/MESOSCALE/LMD_MM_MARS/SIMU&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure the installer can be executed&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
chmod 755 SIMU/meso_install.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make a link (e.g. where you are, in the parent directory of /data) to the main script in this SIMU directory&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
ln -sf SIMU/meso_install.sh .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run the installer with a simple display of possible options&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
./meso_install.sh -h&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install the code ==&lt;br /&gt;
&lt;br /&gt;
Update to the latest version of installer&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
cd SIMU&lt;br /&gt;
svn update&lt;br /&gt;
chmod 755 meso_install.sh&lt;br /&gt;
cd ..&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run the installer by providing a name for your specific directory&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
./meso_install.sh -n DESCRIBE_YOUR_RESEARCH_PROJECT&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Special case'': In case you do not have a gitlab account, ask for an archive (tar.gz) of the code.&lt;br /&gt;
Let us assume the name is git-trunk-mesoscale-compile-run-spirit.tar.gz &lt;br /&gt;
and the file is in the current directory (for instance in /homedata/_MY_LOGIN_)&lt;br /&gt;
then run the installer with the following command&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
./meso_install.sh -n DESCRIBE_YOUR_RESEARCH_PROJECT -a git-trunk-mesoscale-compile-run-spirit&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Aspiga</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Installing_Mars_mesoscale_model_on_spirit&amp;diff=1159</id>
		<title>Installing Mars mesoscale model on spirit</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Installing_Mars_mesoscale_model_on_spirit&amp;diff=1159"/>
				<updated>2023-01-23T15:25:39Z</updated>
		
		<summary type="html">&lt;p&gt;Aspiga: /* Install the code */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Set up environment ==&lt;br /&gt;
&lt;br /&gt;
Add this in your ~/.bashrc then source the file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot; line&amp;gt;&lt;br /&gt;
module purge&lt;br /&gt;
module load intel/2021.4.0&lt;br /&gt;
module load intel-mkl/2020.4.304&lt;br /&gt;
module load openmpi/4.0.7&lt;br /&gt;
module load hdf5/1.10.7-mpi&lt;br /&gt;
module load netcdf-fortran/4.5.3-mpi&lt;br /&gt;
module load netcdf-c/4.7.4-mpi&lt;br /&gt;
declare -x WHERE_MPI=/net/nfs/tools/u20/22.3/PrgEnv/intel/linux-ubuntu20.04-zen2/openmpi/4.0.7-intel-2021.4.0-43fdcnab3ydwu7ycrplnzlp6xieusuz7/bin/&lt;br /&gt;
declare -x NETCDF=/scratchu/spiga/les_mars_project_spirit/netcdf_hacks/SPIRIT&lt;br /&gt;
declare -x NCDFLIB=$NETCDF/lib&lt;br /&gt;
declare -x NCDFINC=$NETCDF/include&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Set up the installer ==&lt;br /&gt;
&lt;br /&gt;
Go to your 'data' directory (cd /homedata/_MY_LOGIN_ ''or'' cd /data/_MY_LOGIN_) and download the installer with the following command&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
svn co https://svn.lmd.jussieu.fr/Planeto/trunk/MESOSCALE/LMD_MM_MARS/SIMU&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure the installer can be executed&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
chmod 755 SIMU/meso_install.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make a link (e.g. where you are, in the parent directory of /data) to the main script in this SIMU directory&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
ln -sf SIMU/meso_install.sh .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run the installer with a simple display of possible options&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
./meso_install.sh -h&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install the code ==&lt;br /&gt;
&lt;br /&gt;
Update to the latest version of installer&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
cd SIMU&lt;br /&gt;
svn update&lt;br /&gt;
cd ..&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run the installer by providing a name for your specific directory&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
./meso_install.sh -n DESCRIBE_YOUR_RESEARCH_PROJECT&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Special case'': In case you do not have a gitlab account, ask for an archive (tar.gz) of the code.&lt;br /&gt;
Let us assume the name is git-trunk-mesoscale-compile-run-spirit.tar.gz &lt;br /&gt;
and the file is in the current directory (for instance in /homedata/_MY_LOGIN_)&lt;br /&gt;
then run the installer with the following command&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
./meso_install.sh -n DESCRIBE_YOUR_RESEARCH_PROJECT -a git-trunk-mesoscale-compile-run-spirit&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Aspiga</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Installing_Mars_mesoscale_model_on_spirit&amp;diff=1158</id>
		<title>Installing Mars mesoscale model on spirit</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Installing_Mars_mesoscale_model_on_spirit&amp;diff=1158"/>
				<updated>2023-01-23T15:19:19Z</updated>
		
		<summary type="html">&lt;p&gt;Aspiga: /* Set up the installer */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Set up environment ==&lt;br /&gt;
&lt;br /&gt;
Add this in your ~/.bashrc then source the file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot; line&amp;gt;&lt;br /&gt;
module purge&lt;br /&gt;
module load intel/2021.4.0&lt;br /&gt;
module load intel-mkl/2020.4.304&lt;br /&gt;
module load openmpi/4.0.7&lt;br /&gt;
module load hdf5/1.10.7-mpi&lt;br /&gt;
module load netcdf-fortran/4.5.3-mpi&lt;br /&gt;
module load netcdf-c/4.7.4-mpi&lt;br /&gt;
declare -x WHERE_MPI=/net/nfs/tools/u20/22.3/PrgEnv/intel/linux-ubuntu20.04-zen2/openmpi/4.0.7-intel-2021.4.0-43fdcnab3ydwu7ycrplnzlp6xieusuz7/bin/&lt;br /&gt;
declare -x NETCDF=/scratchu/spiga/les_mars_project_spirit/netcdf_hacks/SPIRIT&lt;br /&gt;
declare -x NCDFLIB=$NETCDF/lib&lt;br /&gt;
declare -x NCDFINC=$NETCDF/include&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Set up the installer ==&lt;br /&gt;
&lt;br /&gt;
Go to your 'data' directory (cd /homedata/_MY_LOGIN_ ''or'' cd /data/_MY_LOGIN_) and download the installer with the following command&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
svn co https://svn.lmd.jussieu.fr/Planeto/trunk/MESOSCALE/LMD_MM_MARS/SIMU&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure the installer can be executed&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
chmod 755 SIMU/meso_install.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make a link (e.g. where you are, in the parent directory of /data) to the main script in this SIMU directory&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
ln -sf SIMU/meso_install.sh .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run the installer with a simple display of possible options&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
./meso_install.sh -h&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install the code ==&lt;br /&gt;
&lt;br /&gt;
Run the installer by providing a name for your specific directory&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
./meso_install.sh -n DESCRIBE_YOUR_RESEARCH_PROJECT&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Special case'': In case you do not have a gitlab account, ask for an archive (tar.gz) of the code.&lt;br /&gt;
Let us assume the name is git-trunk-mesoscale-compile-run-spirit.tar.gz &lt;br /&gt;
and the file is in the current directory (for instance in /homedata/_MY_LOGIN_)&lt;br /&gt;
then run the installer with the following command&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
./meso_install.sh -n DESCRIBE_YOUR_RESEARCH_PROJECT -a git-trunk-mesoscale-compile-run-spirit&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Aspiga</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Installing_Mars_mesoscale_model_on_spirit&amp;diff=1157</id>
		<title>Installing Mars mesoscale model on spirit</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Installing_Mars_mesoscale_model_on_spirit&amp;diff=1157"/>
				<updated>2023-01-23T15:13:34Z</updated>
		
		<summary type="html">&lt;p&gt;Aspiga: /* Set up the installer */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Set up environment ==&lt;br /&gt;
&lt;br /&gt;
Add this in your ~/.bashrc then source the file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot; line&amp;gt;&lt;br /&gt;
module purge&lt;br /&gt;
module load intel/2021.4.0&lt;br /&gt;
module load intel-mkl/2020.4.304&lt;br /&gt;
module load openmpi/4.0.7&lt;br /&gt;
module load hdf5/1.10.7-mpi&lt;br /&gt;
module load netcdf-fortran/4.5.3-mpi&lt;br /&gt;
module load netcdf-c/4.7.4-mpi&lt;br /&gt;
declare -x WHERE_MPI=/net/nfs/tools/u20/22.3/PrgEnv/intel/linux-ubuntu20.04-zen2/openmpi/4.0.7-intel-2021.4.0-43fdcnab3ydwu7ycrplnzlp6xieusuz7/bin/&lt;br /&gt;
declare -x NETCDF=/scratchu/spiga/les_mars_project_spirit/netcdf_hacks/SPIRIT&lt;br /&gt;
declare -x NCDFLIB=$NETCDF/lib&lt;br /&gt;
declare -x NCDFINC=$NETCDF/include&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Set up the installer ==&lt;br /&gt;
&lt;br /&gt;
Go to your 'data' directory and download the installer with the following command&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
cd /homedata/_MY_LOGIN_&lt;br /&gt;
svn co https://svn.lmd.jussieu.fr/Planeto/trunk/MESOSCALE/LMD_MM_MARS/SIMU&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure the installer can be executed&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
chmod 755 SIMU/meso_install.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make a link (e.g. where you are, in the parent directory of /data) to the main script in this SIMU directory&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
ln -sf SIMU/meso_install.sh .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run the installer with a simple display of possible options&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
./meso_install.sh -h&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install the code ==&lt;br /&gt;
&lt;br /&gt;
Run the installer by providing a name for your specific directory&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
./meso_install.sh -n DESCRIBE_YOUR_RESEARCH_PROJECT&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Special case'': In case you do not have a gitlab account, ask for an archive (tar.gz) of the code.&lt;br /&gt;
Let us assume the name is git-trunk-mesoscale-compile-run-spirit.tar.gz &lt;br /&gt;
and the file is in the current directory (for instance in /homedata/_MY_LOGIN_)&lt;br /&gt;
then run the installer with the following command&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
./meso_install.sh -n DESCRIBE_YOUR_RESEARCH_PROJECT -a git-trunk-mesoscale-compile-run-spirit&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Aspiga</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Installing_Mars_mesoscale_model_on_spirit&amp;diff=1156</id>
		<title>Installing Mars mesoscale model on spirit</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Installing_Mars_mesoscale_model_on_spirit&amp;diff=1156"/>
				<updated>2023-01-23T14:37:11Z</updated>
		
		<summary type="html">&lt;p&gt;Aspiga: /* Set up the installer */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Set up environment ==&lt;br /&gt;
&lt;br /&gt;
Add this in your ~/.bashrc then source the file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot; line&amp;gt;&lt;br /&gt;
module purge&lt;br /&gt;
module load intel/2021.4.0&lt;br /&gt;
module load intel-mkl/2020.4.304&lt;br /&gt;
module load openmpi/4.0.7&lt;br /&gt;
module load hdf5/1.10.7-mpi&lt;br /&gt;
module load netcdf-fortran/4.5.3-mpi&lt;br /&gt;
module load netcdf-c/4.7.4-mpi&lt;br /&gt;
declare -x WHERE_MPI=/net/nfs/tools/u20/22.3/PrgEnv/intel/linux-ubuntu20.04-zen2/openmpi/4.0.7-intel-2021.4.0-43fdcnab3ydwu7ycrplnzlp6xieusuz7/bin/&lt;br /&gt;
declare -x NETCDF=/scratchu/spiga/les_mars_project_spirit/netcdf_hacks/SPIRIT&lt;br /&gt;
declare -x NCDFLIB=$NETCDF/lib&lt;br /&gt;
declare -x NCDFINC=$NETCDF/include&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Set up the installer ==&lt;br /&gt;
&lt;br /&gt;
Go to your 'data' directory and download the installer with the following command&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
cd /homedata/_MY_LOGIN_&lt;br /&gt;
svn co https://svn.lmd.jussieu.fr/Planeto/trunk/MESOSCALE/LMD_MM_MARS/SIMU&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure the installer can be executed&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
chmod 755 SIMU/meso_install.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make a link (e.g. where you are, in the parent directory of /data) to the main script in this SIMU directory&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
ln -sf SIMU/meso_install.sh .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run the installer with a simple display of possible options&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
./meso_install.sh -h&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Aspiga</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Installing_Mars_mesoscale_model_on_spirit&amp;diff=1155</id>
		<title>Installing Mars mesoscale model on spirit</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Installing_Mars_mesoscale_model_on_spirit&amp;diff=1155"/>
				<updated>2023-01-23T14:35:51Z</updated>
		
		<summary type="html">&lt;p&gt;Aspiga: /* Set up the installer */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Set up environment ==&lt;br /&gt;
&lt;br /&gt;
Add this in your ~/.bashrc then source the file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot; line&amp;gt;&lt;br /&gt;
module purge&lt;br /&gt;
module load intel/2021.4.0&lt;br /&gt;
module load intel-mkl/2020.4.304&lt;br /&gt;
module load openmpi/4.0.7&lt;br /&gt;
module load hdf5/1.10.7-mpi&lt;br /&gt;
module load netcdf-fortran/4.5.3-mpi&lt;br /&gt;
module load netcdf-c/4.7.4-mpi&lt;br /&gt;
declare -x WHERE_MPI=/net/nfs/tools/u20/22.3/PrgEnv/intel/linux-ubuntu20.04-zen2/openmpi/4.0.7-intel-2021.4.0-43fdcnab3ydwu7ycrplnzlp6xieusuz7/bin/&lt;br /&gt;
declare -x NETCDF=/scratchu/spiga/les_mars_project_spirit/netcdf_hacks/SPIRIT&lt;br /&gt;
declare -x NCDFLIB=$NETCDF/lib&lt;br /&gt;
declare -x NCDFINC=$NETCDF/include&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Set up the installer ==&lt;br /&gt;
&lt;br /&gt;
Go to your 'data' directory and download the installer with the following command&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
svn co https://svn.lmd.jussieu.fr/Planeto/trunk/MESOSCALE/LMD_MM_MARS/SIMU&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure the installer can be executed&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
chmod 755 SIMU/meso_install.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make a link (e.g. where you are, in the parent directory of /data) to the main script in this SIMU directory&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
ln -sf SIMU/meso_install.sh .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run the installer with a simple display of possible options&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
./meso_install.sh -h&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Aspiga</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Installing_Mars_mesoscale_model_on_spirit&amp;diff=1154</id>
		<title>Installing Mars mesoscale model on spirit</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Installing_Mars_mesoscale_model_on_spirit&amp;diff=1154"/>
				<updated>2023-01-23T14:32:22Z</updated>
		
		<summary type="html">&lt;p&gt;Aspiga: /* Set up the installer */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Set up environment ==&lt;br /&gt;
&lt;br /&gt;
Add this in your ~/.bashrc then source the file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot; line&amp;gt;&lt;br /&gt;
module purge&lt;br /&gt;
module load intel/2021.4.0&lt;br /&gt;
module load intel-mkl/2020.4.304&lt;br /&gt;
module load openmpi/4.0.7&lt;br /&gt;
module load hdf5/1.10.7-mpi&lt;br /&gt;
module load netcdf-fortran/4.5.3-mpi&lt;br /&gt;
module load netcdf-c/4.7.4-mpi&lt;br /&gt;
declare -x WHERE_MPI=/net/nfs/tools/u20/22.3/PrgEnv/intel/linux-ubuntu20.04-zen2/openmpi/4.0.7-intel-2021.4.0-43fdcnab3ydwu7ycrplnzlp6xieusuz7/bin/&lt;br /&gt;
declare -x NETCDF=/scratchu/spiga/les_mars_project_spirit/netcdf_hacks/SPIRIT&lt;br /&gt;
declare -x NCDFLIB=$NETCDF/lib&lt;br /&gt;
declare -x NCDFINC=$NETCDF/include&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Set up the installer ==&lt;br /&gt;
&lt;br /&gt;
Go to your 'data' directory and download the installer with the following command&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
svn co https://svn.lmd.jussieu.fr/Planeto/trunk/MESOSCALE/LMD_MM_MARS/SIMU&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make a link (e.g. where you are, in the parent directory of /data) to the main script in this SIMU directory&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
ln -sf SIMU/meso_install.sh .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Aspiga</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Installing_Mars_mesoscale_model_on_spirit&amp;diff=1153</id>
		<title>Installing Mars mesoscale model on spirit</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Installing_Mars_mesoscale_model_on_spirit&amp;diff=1153"/>
				<updated>2023-01-23T14:31:26Z</updated>
		
		<summary type="html">&lt;p&gt;Aspiga: /* Set up the installer */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Set up environment ==&lt;br /&gt;
&lt;br /&gt;
Add this in your ~/.bashrc then source the file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot; line&amp;gt;&lt;br /&gt;
module purge&lt;br /&gt;
module load intel/2021.4.0&lt;br /&gt;
module load intel-mkl/2020.4.304&lt;br /&gt;
module load openmpi/4.0.7&lt;br /&gt;
module load hdf5/1.10.7-mpi&lt;br /&gt;
module load netcdf-fortran/4.5.3-mpi&lt;br /&gt;
module load netcdf-c/4.7.4-mpi&lt;br /&gt;
declare -x WHERE_MPI=/net/nfs/tools/u20/22.3/PrgEnv/intel/linux-ubuntu20.04-zen2/openmpi/4.0.7-intel-2021.4.0-43fdcnab3ydwu7ycrplnzlp6xieusuz7/bin/&lt;br /&gt;
declare -x NETCDF=/scratchu/spiga/les_mars_project_spirit/netcdf_hacks/SPIRIT&lt;br /&gt;
declare -x NCDFLIB=$NETCDF/lib&lt;br /&gt;
declare -x NCDFINC=$NETCDF/include&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Set up the installer ==&lt;br /&gt;
&lt;br /&gt;
Go to your 'data' directory and download the installer with the following command&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
svn co https://svn.lmd.jussieu.fr/Planeto/trunk/MESOSCALE/LMD_MM_MARS/SIMU&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make a link in the parent directory to the main script in this SIMU directory&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
ln -sf SIMU/meso_install.sh .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Aspiga</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Installing_Mars_mesoscale_model_on_spirit&amp;diff=1152</id>
		<title>Installing Mars mesoscale model on spirit</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Installing_Mars_mesoscale_model_on_spirit&amp;diff=1152"/>
				<updated>2023-01-23T14:29:04Z</updated>
		
		<summary type="html">&lt;p&gt;Aspiga: /* Set up the installer */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Set up environment ==&lt;br /&gt;
&lt;br /&gt;
Add this in your ~/.bashrc then source the file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot; line&amp;gt;&lt;br /&gt;
module purge&lt;br /&gt;
module load intel/2021.4.0&lt;br /&gt;
module load intel-mkl/2020.4.304&lt;br /&gt;
module load openmpi/4.0.7&lt;br /&gt;
module load hdf5/1.10.7-mpi&lt;br /&gt;
module load netcdf-fortran/4.5.3-mpi&lt;br /&gt;
module load netcdf-c/4.7.4-mpi&lt;br /&gt;
declare -x WHERE_MPI=/net/nfs/tools/u20/22.3/PrgEnv/intel/linux-ubuntu20.04-zen2/openmpi/4.0.7-intel-2021.4.0-43fdcnab3ydwu7ycrplnzlp6xieusuz7/bin/&lt;br /&gt;
declare -x NETCDF=/scratchu/spiga/les_mars_project_spirit/netcdf_hacks/SPIRIT&lt;br /&gt;
declare -x NCDFLIB=$NETCDF/lib&lt;br /&gt;
declare -x NCDFINC=$NETCDF/include&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Set up the installer ==&lt;br /&gt;
&lt;br /&gt;
Go to your 'data' directory and download the installer with the following command&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
svn co https://svn.lmd.jussieu.fr/Planeto/trunk/MESOSCALE/LMD_MM_MARS/SIMU&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Aspiga</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Installing_Mars_mesoscale_model_on_spirit&amp;diff=1151</id>
		<title>Installing Mars mesoscale model on spirit</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Installing_Mars_mesoscale_model_on_spirit&amp;diff=1151"/>
				<updated>2023-01-23T14:28:52Z</updated>
		
		<summary type="html">&lt;p&gt;Aspiga: /* Set up the installer */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Set up environment ==&lt;br /&gt;
&lt;br /&gt;
Add this in your ~/.bashrc then source the file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot; line&amp;gt;&lt;br /&gt;
module purge&lt;br /&gt;
module load intel/2021.4.0&lt;br /&gt;
module load intel-mkl/2020.4.304&lt;br /&gt;
module load openmpi/4.0.7&lt;br /&gt;
module load hdf5/1.10.7-mpi&lt;br /&gt;
module load netcdf-fortran/4.5.3-mpi&lt;br /&gt;
module load netcdf-c/4.7.4-mpi&lt;br /&gt;
declare -x WHERE_MPI=/net/nfs/tools/u20/22.3/PrgEnv/intel/linux-ubuntu20.04-zen2/openmpi/4.0.7-intel-2021.4.0-43fdcnab3ydwu7ycrplnzlp6xieusuz7/bin/&lt;br /&gt;
declare -x NETCDF=/scratchu/spiga/les_mars_project_spirit/netcdf_hacks/SPIRIT&lt;br /&gt;
declare -x NCDFLIB=$NETCDF/lib&lt;br /&gt;
declare -x NCDFINC=$NETCDF/include&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Set up the installer ==&lt;br /&gt;
&lt;br /&gt;
Go to your 'data' directory and download the installer with the following command&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
svn co https://svn.lmd.jussieu.fr/Planeto/trunk/MESOSCALE/LMD_MM_MARS/SIMU&lt;br /&gt;
&amp;lt;/sytaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Aspiga</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Installing_Mars_mesoscale_model_on_spirit&amp;diff=1150</id>
		<title>Installing Mars mesoscale model on spirit</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Installing_Mars_mesoscale_model_on_spirit&amp;diff=1150"/>
				<updated>2023-01-23T14:28:37Z</updated>
		
		<summary type="html">&lt;p&gt;Aspiga: /* Set up the installer */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Set up environment ==&lt;br /&gt;
&lt;br /&gt;
Add this in your ~/.bashrc then source the file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot; line&amp;gt;&lt;br /&gt;
module purge&lt;br /&gt;
module load intel/2021.4.0&lt;br /&gt;
module load intel-mkl/2020.4.304&lt;br /&gt;
module load openmpi/4.0.7&lt;br /&gt;
module load hdf5/1.10.7-mpi&lt;br /&gt;
module load netcdf-fortran/4.5.3-mpi&lt;br /&gt;
module load netcdf-c/4.7.4-mpi&lt;br /&gt;
declare -x WHERE_MPI=/net/nfs/tools/u20/22.3/PrgEnv/intel/linux-ubuntu20.04-zen2/openmpi/4.0.7-intel-2021.4.0-43fdcnab3ydwu7ycrplnzlp6xieusuz7/bin/&lt;br /&gt;
declare -x NETCDF=/scratchu/spiga/les_mars_project_spirit/netcdf_hacks/SPIRIT&lt;br /&gt;
declare -x NCDFLIB=$NETCDF/lib&lt;br /&gt;
declare -x NCDFINC=$NETCDF/include&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Set up the installer ==&lt;br /&gt;
&lt;br /&gt;
Go to your 'data' directory and download the installer with the following command&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Fortran&amp;quot;&amp;gt;&lt;br /&gt;
svn co https://svn.lmd.jussieu.fr/Planeto/trunk/MESOSCALE/LMD_MM_MARS/SIMU&lt;br /&gt;
&amp;lt;/sytaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Aspiga</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Installing_Mars_mesoscale_model_on_spirit&amp;diff=1149</id>
		<title>Installing Mars mesoscale model on spirit</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Installing_Mars_mesoscale_model_on_spirit&amp;diff=1149"/>
				<updated>2023-01-23T14:28:01Z</updated>
		
		<summary type="html">&lt;p&gt;Aspiga: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Set up environment ==&lt;br /&gt;
&lt;br /&gt;
Add this in your ~/.bashrc then source the file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot; line&amp;gt;&lt;br /&gt;
module purge&lt;br /&gt;
module load intel/2021.4.0&lt;br /&gt;
module load intel-mkl/2020.4.304&lt;br /&gt;
module load openmpi/4.0.7&lt;br /&gt;
module load hdf5/1.10.7-mpi&lt;br /&gt;
module load netcdf-fortran/4.5.3-mpi&lt;br /&gt;
module load netcdf-c/4.7.4-mpi&lt;br /&gt;
declare -x WHERE_MPI=/net/nfs/tools/u20/22.3/PrgEnv/intel/linux-ubuntu20.04-zen2/openmpi/4.0.7-intel-2021.4.0-43fdcnab3ydwu7ycrplnzlp6xieusuz7/bin/&lt;br /&gt;
declare -x NETCDF=/scratchu/spiga/les_mars_project_spirit/netcdf_hacks/SPIRIT&lt;br /&gt;
declare -x NCDFLIB=$NETCDF/lib&lt;br /&gt;
declare -x NCDFINC=$NETCDF/include&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Set up the installer ==&lt;br /&gt;
&lt;br /&gt;
Go to your 'data' directory and download the installer with the following command&lt;br /&gt;
```&lt;br /&gt;
svn co https://svn.lmd.jussieu.fr/Planeto/trunk/MESOSCALE/LMD_MM_MARS/SIMU&lt;br /&gt;
```&lt;/div&gt;</summary>
		<author><name>Aspiga</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Installing_Mars_mesoscale_model_on_spirit&amp;diff=1148</id>
		<title>Installing Mars mesoscale model on spirit</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Installing_Mars_mesoscale_model_on_spirit&amp;diff=1148"/>
				<updated>2023-01-23T14:25:00Z</updated>
		
		<summary type="html">&lt;p&gt;Aspiga: /* Set up environment */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Set up environment ==&lt;br /&gt;
&lt;br /&gt;
Add this in your ~/.bashrc then source the file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot; line&amp;gt;&lt;br /&gt;
module purge&lt;br /&gt;
module load intel/2021.4.0&lt;br /&gt;
module load intel-mkl/2020.4.304&lt;br /&gt;
module load openmpi/4.0.7&lt;br /&gt;
module load hdf5/1.10.7-mpi&lt;br /&gt;
module load netcdf-fortran/4.5.3-mpi&lt;br /&gt;
module load netcdf-c/4.7.4-mpi&lt;br /&gt;
declare -x WHERE_MPI=/net/nfs/tools/u20/22.3/PrgEnv/intel/linux-ubuntu20.04-zen2/openmpi/4.0.7-intel-2021.4.0-43fdcnab3ydwu7ycrplnzlp6xieusuz7/bin/&lt;br /&gt;
declare -x NETCDF=/scratchu/spiga/les_mars_project_spirit/netcdf_hacks/SPIRIT&lt;br /&gt;
declare -x NCDFLIB=$NETCDF/lib&lt;br /&gt;
declare -x NCDFINC=$NETCDF/include&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Aspiga</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Installing_Mars_mesoscale_model_on_spirit&amp;diff=1147</id>
		<title>Installing Mars mesoscale model on spirit</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Installing_Mars_mesoscale_model_on_spirit&amp;diff=1147"/>
				<updated>2023-01-23T14:23:44Z</updated>
		
		<summary type="html">&lt;p&gt;Aspiga: /* Set up environment */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Set up environment ==&lt;br /&gt;
&lt;br /&gt;
Add this in your ~/.bashrc &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot; line&amp;gt;&lt;br /&gt;
module purge&lt;br /&gt;
module load intel/2021.4.0&lt;br /&gt;
module load intel-mkl/2020.4.304&lt;br /&gt;
module load openmpi/4.0.7&lt;br /&gt;
module load hdf5/1.10.7-mpi&lt;br /&gt;
module load netcdf-fortran/4.5.3-mpi&lt;br /&gt;
module load netcdf-c/4.7.4-mpi&lt;br /&gt;
declare -x WHERE_MPI=/net/nfs/tools/u20/22.3/PrgEnv/intel/linux-ubuntu20.04-zen2/openmpi/4.0.7-intel-2021.4.0-43fdcnab3ydwu7ycrplnzlp6xieusuz7/bin/&lt;br /&gt;
declare -x NETCDF=/scratchu/spiga/les_mars_project_spirit/netcdf_hacks/SPIRIT&lt;br /&gt;
declare -x NCDFLIB=$NETCDF/lib&lt;br /&gt;
declare -x NCDFINC=$NETCDF/include&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Aspiga</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Installing_Mars_mesoscale_model_on_spirit&amp;diff=1146</id>
		<title>Installing Mars mesoscale model on spirit</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Installing_Mars_mesoscale_model_on_spirit&amp;diff=1146"/>
				<updated>2023-01-23T14:22:30Z</updated>
		
		<summary type="html">&lt;p&gt;Aspiga: Created page with &amp;quot;== Set up environment ==  Add this in your .bashrc   &amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot; line&amp;gt; module purge module load intel/2021.4.0 module load intel-mkl/2020.4.304 module load op...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Set up environment ==&lt;br /&gt;
&lt;br /&gt;
Add this in your .bashrc &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot; line&amp;gt;&lt;br /&gt;
module purge&lt;br /&gt;
module load intel/2021.4.0&lt;br /&gt;
module load intel-mkl/2020.4.304&lt;br /&gt;
module load openmpi/4.0.7&lt;br /&gt;
module load hdf5/1.10.7-mpi&lt;br /&gt;
module load netcdf-fortran/4.5.3-mpi&lt;br /&gt;
module load netcdf-c/4.7.4-mpi&lt;br /&gt;
declare -x WHERE_MPI=/net/nfs/tools/u20/22.3/PrgEnv/intel/linux-ubuntu20.04-zen2/openmpi/4.0.7-intel-2021.4.0-43fdcnab3ydwu7ycrplnzlp6xieusuz7/bin/&lt;br /&gt;
declare -x NETCDF=/scratchu/spiga/les_mars_project_spirit/netcdf_hacks/SPIRIT&lt;br /&gt;
declare -x NCDFLIB=$NETCDF/lib&lt;br /&gt;
declare -x NCDFINC=$NETCDF/include&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Aspiga</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Using_Irene_Rome&amp;diff=792</id>
		<title>Using Irene Rome</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Using_Irene_Rome&amp;diff=792"/>
				<updated>2022-09-14T22:07:38Z</updated>
		
		<summary type="html">&lt;p&gt;Aspiga: /* Example of a job to run a GCM simulation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page provides a summary of examples and tools designed to help you get used with the Irene Rome environment. (as of July 2022)&lt;br /&gt;
&lt;br /&gt;
== How to access the cluster ==&lt;br /&gt;
&lt;br /&gt;
For people on the &amp;quot;Atmosphères Planétaires&amp;quot; GENCI project who need to open an account on Irene-Rome, here is the procedure:&lt;br /&gt;
&lt;br /&gt;
* Log on to https://www-dcc.extra.cea.fr/CCFR/ and provide various information about yourself &lt;br /&gt;
&lt;br /&gt;
A few tips:&lt;br /&gt;
&lt;br /&gt;
- chose TGCC&lt;br /&gt;
&lt;br /&gt;
- give your PROFESSIONAL phone number (and not your personal cell phone number)&lt;br /&gt;
&lt;br /&gt;
- name of the project: Atmosphères Planétaires  Numéro du Dossier: A0120110391&lt;br /&gt;
&lt;br /&gt;
- Responsable scientifique du projet: M. Ehouarn MILLOUR , ehouarn.millour@lmd.ipsl.fr, 0144275286, Nationalité: Fr&lt;br /&gt;
&lt;br /&gt;
- Responsable sécurité: M. Franck Guyon, franck.guyon@lmd.ipsl.fr, 0144275277, Nationalité: Fr&lt;br /&gt;
&lt;br /&gt;
- IPs &amp;amp; machine names to connect to Irene: 134.157.47.46 (ssh-out.lmd.jussieu.fr) and 134.157.176.129 (ciclad.ipsl.upmc.fr)&lt;br /&gt;
&lt;br /&gt;
- Chose anything you want for the 8 character password&lt;br /&gt;
&lt;br /&gt;
* And then get Ehouarn to sign the form and forward it to Franck for him to sign as well.&lt;br /&gt;
&lt;br /&gt;
* Send the signed form to hotline.tgcc@cea.fr&lt;br /&gt;
&lt;br /&gt;
== Some useful commands ==&lt;br /&gt;
&lt;br /&gt;
* To access the disks of our project on Irene (&amp;quot;Atmosphères Planétaires&amp;quot; GENCI project), add the following line in your .bashrc file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
module switch dfldatadir/gen10391&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To access your work directory (to run your simulations)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd /ccc/work/cont003/gen10391/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you can also access the work directory with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd $CCCWORKDIR&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To access your store directory (to store big data files we are limited in inode number not in filesize! It is recommended to store files of at least 50M, preferably more, e.g. big tar files of 10G or more)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd /ccc/work/cont003/gen10391/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you can also access the store directory with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd $CCCSTOREDIR&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To access the scratch directory&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd $CCCSCRATCHDIR&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
IMPORTANT: the scratchdir is fast access, very big, BUT regularly automatically purged! If you use it do remember to backup stuff on the WORKDIR or STOREDIR.&lt;br /&gt;
&lt;br /&gt;
The scratch purge policy (from machine.info):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Files not accessed for 60 days are automatically purged&lt;br /&gt;
* Symbolic links are not purged&lt;br /&gt;
* Directories that have been empty for more than 30 days are removed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To access Irene Interactive Documentation:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
machine.info&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NB: you can also access the online documentation here: http://www-hpc.cea.fr/tgcc-public/en/html/toc/fulldoc/Introduction.html&lt;br /&gt;
&lt;br /&gt;
* To display infos about project accounting:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccc_myproject &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To know about user and group disk quota&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccc_quota -a&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To know about how long your passwd will be active:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccc_password_expiration&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To change passwd:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
passwd&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Example of a job to run a GCM simulation ==&lt;br /&gt;
&lt;br /&gt;
=== Mixed openMP / MPI ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Partition to run on:&lt;br /&gt;
#MSUB -q rome&lt;br /&gt;
# project to run on &lt;br /&gt;
#MSUB -A  gen10391&lt;br /&gt;
# disks to use&lt;br /&gt;
#MSUB -m  scratch,work,store&lt;br /&gt;
# Job name&lt;br /&gt;
#MSUB -r run_gcm&lt;br /&gt;
# Job standard output:&lt;br /&gt;
#MSUB -o run_gcm.%I&lt;br /&gt;
# Job standard error:&lt;br /&gt;
#MSUB -e run_gcm.%I&lt;br /&gt;
# number of OpenMP threads c&lt;br /&gt;
#MSUB -c 2&lt;br /&gt;
# number of MPI tasks n&lt;br /&gt;
#MSUB -n 16&lt;br /&gt;
# number of nodes to use N&lt;br /&gt;
#MSUB -N 1&lt;br /&gt;
# max job run time T (in seconds)&lt;br /&gt;
#MSUB -T 3600&lt;br /&gt;
# request exculsive use of the node (128 cores)&lt;br /&gt;
##MSUB -x&lt;br /&gt;
&lt;br /&gt;
source ../trunk/LMDZ.COMMON/arch.env&lt;br /&gt;
export OMP_STACKSIZE=400M&lt;br /&gt;
export OMP_NUM_THREADS=2&lt;br /&gt;
&lt;br /&gt;
ccc_mprun -l gcm_32x32x15_phystd_para.e &amp;gt; gcm.out 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Pure MPI + long run ===&lt;br /&gt;
&lt;br /&gt;
The most important parameter for mpi-only runs is ''-n'' &lt;br /&gt;
providing the total number of CPUs &lt;br /&gt;
(ideally a multiple of 128, which is the number of CPUs per core).&lt;br /&gt;
&lt;br /&gt;
Runs longer than 1 day are not possible unless&lt;br /&gt;
selecting a quality-of-service (QoS) &amp;quot;long&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# Partition to run on:&lt;br /&gt;
#MSUB -q rome&lt;br /&gt;
# project to run on &lt;br /&gt;
#MSUB -A  gen10391&lt;br /&gt;
# disks to use&lt;br /&gt;
#MSUB -m  scratch,work,store&lt;br /&gt;
# Job name&lt;br /&gt;
#MSUB -r run_wrf&lt;br /&gt;
# Job standard output:&lt;br /&gt;
#MSUB -o run_wrf.%I&lt;br /&gt;
# Job standard error:&lt;br /&gt;
#MSUB -e run_wrf.%I&lt;br /&gt;
# number of MPI tasks n (total)&lt;br /&gt;
#MSUB -n 256&lt;br /&gt;
# max job run time T (in seconds)&lt;br /&gt;
#MSUB -T 345600&lt;br /&gt;
# select quality-of-service&lt;br /&gt;
# - test &amp;lt; 30min&lt;br /&gt;
# - normal &amp;lt; 1d (default)&lt;br /&gt;
# - long &amp;lt; 3d &lt;br /&gt;
#MSUB -Q long&lt;br /&gt;
&lt;br /&gt;
#############################&lt;br /&gt;
&lt;br /&gt;
# load the modules used to compile&lt;br /&gt;
source arch.env&lt;br /&gt;
&lt;br /&gt;
# clean the logs&lt;br /&gt;
rm -rf rsl.*&lt;br /&gt;
&lt;br /&gt;
# create initial state&lt;br /&gt;
# -- this is done on a single proc&lt;br /&gt;
ideal.exe&lt;br /&gt;
mv rsl.error.0000 ideal_rsl.error.0000&lt;br /&gt;
mv rsl.out.0000 ideal_rsl.out.0000&lt;br /&gt;
&lt;br /&gt;
# main launch&lt;br /&gt;
ccc_mprun -l wrf.exe&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Main submission commands ==&lt;br /&gt;
&lt;br /&gt;
* To launch the job script ''run_gcm.job'':&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccc_msub run_gcm.job&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* To display information about your jobs:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccc_mpp -u $USER &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* To kill job number ''jobid''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccc_mdel jobid&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* To display infos about project accounting:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccc_myproject&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* To display infos about limits:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccc_mqinfo&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* To display infos about partitions:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccc_mpinfo&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Extra Tips ==&lt;br /&gt;
&lt;br /&gt;
*If you encounter a quota issue on Irene, first check:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccc_quota&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
if you ha &amp;quot;disk quota exceeded error message&amp;quot;, this might be because your files/scripts do not have correct right access. To solve this,&lt;br /&gt;
use the following command on all your dirs (before tranfering them to Irene):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
chmod -R g+s NAME_OF_DIR&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== File transfert from Occigen ==&lt;br /&gt;
One should use ccfr:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
module load ccfr&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
A list of available machines is given by&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccfr_ssh -v&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
To log on to Occigen (from Irene):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccfr_ssh occigenlogin@cines&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To copy a file:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccfr_cp occigenlogin@cines:remote_dir local_dir &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Worth knowing about ==&lt;br /&gt;
* The command wget is disabled on Irene, scripts using it will fail...&lt;br /&gt;
* Only &amp;quot;https&amp;quot; is allowed (for svn co, git, etc)&lt;br /&gt;
&lt;br /&gt;
[[Category:FAQ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In case you reach a quota issue, please use the following command on your directory before sending the data:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
chmod -R g+s NAME_OF_DIR&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Aspiga</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Using_Irene_Rome&amp;diff=791</id>
		<title>Using Irene Rome</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Using_Irene_Rome&amp;diff=791"/>
				<updated>2022-09-14T22:06:52Z</updated>
		
		<summary type="html">&lt;p&gt;Aspiga: /* Pure MPI + long run */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page provides a summary of examples and tools designed to help you get used with the Irene Rome environment. (as of July 2022)&lt;br /&gt;
&lt;br /&gt;
== How to access the cluster ==&lt;br /&gt;
&lt;br /&gt;
For people on the &amp;quot;Atmosphères Planétaires&amp;quot; GENCI project who need to open an account on Irene-Rome, here is the procedure:&lt;br /&gt;
&lt;br /&gt;
* Log on to https://www-dcc.extra.cea.fr/CCFR/ and provide various information about yourself &lt;br /&gt;
&lt;br /&gt;
A few tips:&lt;br /&gt;
&lt;br /&gt;
- chose TGCC&lt;br /&gt;
&lt;br /&gt;
- give your PROFESSIONAL phone number (and not your personal cell phone number)&lt;br /&gt;
&lt;br /&gt;
- name of the project: Atmosphères Planétaires  Numéro du Dossier: A0120110391&lt;br /&gt;
&lt;br /&gt;
- Responsable scientifique du projet: M. Ehouarn MILLOUR , ehouarn.millour@lmd.ipsl.fr, 0144275286, Nationalité: Fr&lt;br /&gt;
&lt;br /&gt;
- Responsable sécurité: M. Franck Guyon, franck.guyon@lmd.ipsl.fr, 0144275277, Nationalité: Fr&lt;br /&gt;
&lt;br /&gt;
- IPs &amp;amp; machine names to connect to Irene: 134.157.47.46 (ssh-out.lmd.jussieu.fr) and 134.157.176.129 (ciclad.ipsl.upmc.fr)&lt;br /&gt;
&lt;br /&gt;
- Chose anything you want for the 8 character password&lt;br /&gt;
&lt;br /&gt;
* And then get Ehouarn to sign the form and forward it to Franck for him to sign as well.&lt;br /&gt;
&lt;br /&gt;
* Send the signed form to hotline.tgcc@cea.fr&lt;br /&gt;
&lt;br /&gt;
== Some useful commands ==&lt;br /&gt;
&lt;br /&gt;
* To access the disks of our project on Irene (&amp;quot;Atmosphères Planétaires&amp;quot; GENCI project), add the following line in your .bashrc file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
module switch dfldatadir/gen10391&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To access your work directory (to run your simulations)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd /ccc/work/cont003/gen10391/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you can also access the work directory with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd $CCCWORKDIR&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To access your store directory (to store big data files we are limited in inode number not in filesize! It is recommended to store files of at least 50M, preferably more, e.g. big tar files of 10G or more)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd /ccc/work/cont003/gen10391/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you can also access the store directory with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd $CCCSTOREDIR&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To access the scratch directory&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd $CCCSCRATCHDIR&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
IMPORTANT: the scratchdir is fast access, very big, BUT regularly automatically purged! If you use it do remember to backup stuff on the WORKDIR or STOREDIR.&lt;br /&gt;
&lt;br /&gt;
The scratch purge policy (from machine.info):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Files not accessed for 60 days are automatically purged&lt;br /&gt;
* Symbolic links are not purged&lt;br /&gt;
* Directories that have been empty for more than 30 days are removed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To access Irene Interactive Documentation:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
machine.info&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NB: you can also access the online documentation here: http://www-hpc.cea.fr/tgcc-public/en/html/toc/fulldoc/Introduction.html&lt;br /&gt;
&lt;br /&gt;
* To display infos about project accounting:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccc_myproject &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To know about user and group disk quota&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccc_quota -a&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To know about how long your passwd will be active:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccc_password_expiration&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To change passwd:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
passwd&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Example of a job to run a GCM simulation ==&lt;br /&gt;
&lt;br /&gt;
=== Mixed openMP / MPI ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Partition to run on:&lt;br /&gt;
#MSUB -q rome&lt;br /&gt;
# project to run on &lt;br /&gt;
#MSUB -A  gen10391&lt;br /&gt;
# disks to use&lt;br /&gt;
#MSUB -m  scratch,work,store&lt;br /&gt;
# Job name&lt;br /&gt;
#MSUB -r run_gcm&lt;br /&gt;
# Job standard output:&lt;br /&gt;
#MSUB -o run_gcm.%I&lt;br /&gt;
# Job standard error:&lt;br /&gt;
#MSUB -e run_gcm.%I&lt;br /&gt;
# number of OpenMP threads c&lt;br /&gt;
#MSUB -c 2&lt;br /&gt;
# number of MPI tasks n&lt;br /&gt;
#MSUB -n 16&lt;br /&gt;
# number of nodes to use N&lt;br /&gt;
#MSUB -N 1&lt;br /&gt;
# max job run time T (in seconds)&lt;br /&gt;
#MSUB -T 3600&lt;br /&gt;
# request exculsive use of the node (128 cores)&lt;br /&gt;
##MSUB -x&lt;br /&gt;
&lt;br /&gt;
source ../trunk/LMDZ.COMMON/arch.env&lt;br /&gt;
export OMP_STACKSIZE=400M&lt;br /&gt;
export OMP_NUM_THREADS=2&lt;br /&gt;
&lt;br /&gt;
ccc_mprun -l gcm_32x32x15_phystd_para.e &amp;gt; gcm.out 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Pure MPI + long run ===&lt;br /&gt;
&lt;br /&gt;
The most important parameter for mpi-only runs is ''-n'' &lt;br /&gt;
providing the total number of CPUs &lt;br /&gt;
(ideally a multiple of 128, which is the number of CPUs per core).&lt;br /&gt;
&lt;br /&gt;
Runs longer than 1 day are not possible unless&lt;br /&gt;
selecting a quality-of-service (QoS) &amp;quot;long&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# Partition to run on:&lt;br /&gt;
#MSUB -q rome&lt;br /&gt;
# project to run on &lt;br /&gt;
#MSUB -A  gen10391&lt;br /&gt;
# disks to use&lt;br /&gt;
#MSUB -m  scratch,work,store&lt;br /&gt;
# Job name&lt;br /&gt;
#MSUB -r run_wrf&lt;br /&gt;
# Job standard output:&lt;br /&gt;
#MSUB -o run_wrf.%I&lt;br /&gt;
# Job standard error:&lt;br /&gt;
#MSUB -e run_wrf.%I&lt;br /&gt;
# number of MPI tasks n (total)&lt;br /&gt;
#MSUB -n 256&lt;br /&gt;
# max job run time T (in seconds)&lt;br /&gt;
#MSUB -T 345600&lt;br /&gt;
# select quality-of-service&lt;br /&gt;
# - test &amp;lt; 30min&lt;br /&gt;
# - normal &amp;lt; 1d (default)&lt;br /&gt;
# - long &amp;lt; 3d &lt;br /&gt;
#MSUB -Q long&lt;br /&gt;
&lt;br /&gt;
#############################&lt;br /&gt;
&lt;br /&gt;
# load the modules used to compile&lt;br /&gt;
source arch.env&lt;br /&gt;
&lt;br /&gt;
# clean the logs&lt;br /&gt;
rm -rf rsl.*&lt;br /&gt;
&lt;br /&gt;
# create initial state&lt;br /&gt;
# -- this is done on a single proc&lt;br /&gt;
ideal.exe&lt;br /&gt;
mv rsl.error.0000 ideal_rsl.error.0000&lt;br /&gt;
mv rsl.out.0000 ideal_rsl.out.0000&lt;br /&gt;
&lt;br /&gt;
# main launch&lt;br /&gt;
ccc_mprun -l wrf.exe&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Main submission commands ===&lt;br /&gt;
&lt;br /&gt;
* To launch the job script ''run_gcm.job'':&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccc_msub run_gcm.job&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* To display information about your jobs:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccc_mpp -u $USER &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* To kill job number ''jobid''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccc_mdel jobid&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* To display infos about project accounting:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccc_myproject&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* To display infos about limits:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccc_mqinfo&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* To display infos about partitions:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccc_mpinfo&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Extra Tips ==&lt;br /&gt;
&lt;br /&gt;
*If you encounter a quota issue on Irene, first check:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccc_quota&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
if you ha &amp;quot;disk quota exceeded error message&amp;quot;, this might be because your files/scripts do not have correct right access. To solve this,&lt;br /&gt;
use the following command on all your dirs (before tranfering them to Irene):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
chmod -R g+s NAME_OF_DIR&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== File transfert from Occigen ==&lt;br /&gt;
One should use ccfr:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
module load ccfr&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
A list of available machines is given by&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccfr_ssh -v&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
To log on to Occigen (from Irene):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccfr_ssh occigenlogin@cines&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To copy a file:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccfr_cp occigenlogin@cines:remote_dir local_dir &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Worth knowing about ==&lt;br /&gt;
* The command wget is disabled on Irene, scripts using it will fail...&lt;br /&gt;
* Only &amp;quot;https&amp;quot; is allowed (for svn co, git, etc)&lt;br /&gt;
&lt;br /&gt;
[[Category:FAQ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In case you reach a quota issue, please use the following command on your directory before sending the data:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
chmod -R g+s NAME_OF_DIR&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Aspiga</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Using_Irene_Rome&amp;diff=790</id>
		<title>Using Irene Rome</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Using_Irene_Rome&amp;diff=790"/>
				<updated>2022-09-14T22:03:59Z</updated>
		
		<summary type="html">&lt;p&gt;Aspiga: /* Main submission commands */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page provides a summary of examples and tools designed to help you get used with the Irene Rome environment. (as of July 2022)&lt;br /&gt;
&lt;br /&gt;
== How to access the cluster ==&lt;br /&gt;
&lt;br /&gt;
For people on the &amp;quot;Atmosphères Planétaires&amp;quot; GENCI project who need to open an account on Irene-Rome, here is the procedure:&lt;br /&gt;
&lt;br /&gt;
* Log on to https://www-dcc.extra.cea.fr/CCFR/ and provide various information about yourself &lt;br /&gt;
&lt;br /&gt;
A few tips:&lt;br /&gt;
&lt;br /&gt;
- chose TGCC&lt;br /&gt;
&lt;br /&gt;
- give your PROFESSIONAL phone number (and not your personal cell phone number)&lt;br /&gt;
&lt;br /&gt;
- name of the project: Atmosphères Planétaires  Numéro du Dossier: A0120110391&lt;br /&gt;
&lt;br /&gt;
- Responsable scientifique du projet: M. Ehouarn MILLOUR , ehouarn.millour@lmd.ipsl.fr, 0144275286, Nationalité: Fr&lt;br /&gt;
&lt;br /&gt;
- Responsable sécurité: M. Franck Guyon, franck.guyon@lmd.ipsl.fr, 0144275277, Nationalité: Fr&lt;br /&gt;
&lt;br /&gt;
- IPs &amp;amp; machine names to connect to Irene: 134.157.47.46 (ssh-out.lmd.jussieu.fr) and 134.157.176.129 (ciclad.ipsl.upmc.fr)&lt;br /&gt;
&lt;br /&gt;
- Chose anything you want for the 8 character password&lt;br /&gt;
&lt;br /&gt;
* And then get Ehouarn to sign the form and forward it to Franck for him to sign as well.&lt;br /&gt;
&lt;br /&gt;
* Send the signed form to hotline.tgcc@cea.fr&lt;br /&gt;
&lt;br /&gt;
== Some useful commands ==&lt;br /&gt;
&lt;br /&gt;
* To access the disks of our project on Irene (&amp;quot;Atmosphères Planétaires&amp;quot; GENCI project), add the following line in your .bashrc file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
module switch dfldatadir/gen10391&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To access your work directory (to run your simulations)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd /ccc/work/cont003/gen10391/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you can also access the work directory with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd $CCCWORKDIR&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To access your store directory (to store big data files we are limited in inode number not in filesize! It is recommended to store files of at least 50M, preferably more, e.g. big tar files of 10G or more)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd /ccc/work/cont003/gen10391/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you can also access the store directory with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd $CCCSTOREDIR&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To access the scratch directory&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd $CCCSCRATCHDIR&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
IMPORTANT: the scratchdir is fast access, very big, BUT regularly automatically purged! If you use it do remember to backup stuff on the WORKDIR or STOREDIR.&lt;br /&gt;
&lt;br /&gt;
The scratch purge policy (from machine.info):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Files not accessed for 60 days are automatically purged&lt;br /&gt;
* Symbolic links are not purged&lt;br /&gt;
* Directories that have been empty for more than 30 days are removed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To access Irene Interactive Documentation:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
machine.info&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NB: you can also access the online documentation here: http://www-hpc.cea.fr/tgcc-public/en/html/toc/fulldoc/Introduction.html&lt;br /&gt;
&lt;br /&gt;
* To display infos about project accounting:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccc_myproject &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To know about user and group disk quota&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccc_quota -a&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To know about how long your passwd will be active:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccc_password_expiration&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To change passwd:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
passwd&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Example of a job to run a GCM simulation ==&lt;br /&gt;
&lt;br /&gt;
=== Mixed openMP / MPI ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Partition to run on:&lt;br /&gt;
#MSUB -q rome&lt;br /&gt;
# project to run on &lt;br /&gt;
#MSUB -A  gen10391&lt;br /&gt;
# disks to use&lt;br /&gt;
#MSUB -m  scratch,work,store&lt;br /&gt;
# Job name&lt;br /&gt;
#MSUB -r run_gcm&lt;br /&gt;
# Job standard output:&lt;br /&gt;
#MSUB -o run_gcm.%I&lt;br /&gt;
# Job standard error:&lt;br /&gt;
#MSUB -e run_gcm.%I&lt;br /&gt;
# number of OpenMP threads c&lt;br /&gt;
#MSUB -c 2&lt;br /&gt;
# number of MPI tasks n&lt;br /&gt;
#MSUB -n 16&lt;br /&gt;
# number of nodes to use N&lt;br /&gt;
#MSUB -N 1&lt;br /&gt;
# max job run time T (in seconds)&lt;br /&gt;
#MSUB -T 3600&lt;br /&gt;
# request exculsive use of the node (128 cores)&lt;br /&gt;
##MSUB -x&lt;br /&gt;
&lt;br /&gt;
source ../trunk/LMDZ.COMMON/arch.env&lt;br /&gt;
export OMP_STACKSIZE=400M&lt;br /&gt;
export OMP_NUM_THREADS=2&lt;br /&gt;
&lt;br /&gt;
ccc_mprun -l gcm_32x32x15_phystd_para.e &amp;gt; gcm.out 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Pure MPI + long run ===&lt;br /&gt;
&lt;br /&gt;
The most important parameter for mpi-only runs is ''-n'' &lt;br /&gt;
providing the total number of CPUs &lt;br /&gt;
(ideally a multiple of 128, which is the number of CPUs per core).&lt;br /&gt;
&lt;br /&gt;
Runs longer than 1 day are not possible unless&lt;br /&gt;
selecting a quality-of-service (QoS) &amp;quot;long&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# Partition to run on:&lt;br /&gt;
#MSUB -q rome&lt;br /&gt;
# project to run on &lt;br /&gt;
#MSUB -A  gen10391&lt;br /&gt;
# disks to use&lt;br /&gt;
#MSUB -m  scratch,work,store&lt;br /&gt;
# Job name&lt;br /&gt;
#MSUB -r run_wrf&lt;br /&gt;
# Job standard output:&lt;br /&gt;
#MSUB -o run_wrf.%I&lt;br /&gt;
# Job standard error:&lt;br /&gt;
#MSUB -e run_wrf.%I&lt;br /&gt;
# number of MPI tasks n (total)&lt;br /&gt;
#MSUB -n 256&lt;br /&gt;
# max job run time T (in seconds)&lt;br /&gt;
#MSUB -T 345600&lt;br /&gt;
# select quality-of-service&lt;br /&gt;
# - test &amp;lt; 30min&lt;br /&gt;
# - normal &amp;lt; 1d (default)&lt;br /&gt;
# - long &amp;lt; 3d &lt;br /&gt;
#MSUB -Q long&lt;br /&gt;
&lt;br /&gt;
#############################&lt;br /&gt;
## WRF 257x257 with 1024 proc &lt;br /&gt;
## leads to 8x8 tiles&lt;br /&gt;
## 32 tasks over X &lt;br /&gt;
## 32 tasks over Y&lt;br /&gt;
#############################&lt;br /&gt;
## WRF 129x129 with 256 proc &lt;br /&gt;
## leads to 8x8 tiles&lt;br /&gt;
## 16 tasks over X &lt;br /&gt;
## 16 tasks over Y&lt;br /&gt;
#############################&lt;br /&gt;
&lt;br /&gt;
# load the modules used to compile&lt;br /&gt;
source arch.env&lt;br /&gt;
&lt;br /&gt;
# clean the logs&lt;br /&gt;
rm -rf rsl.*&lt;br /&gt;
&lt;br /&gt;
# create initial state&lt;br /&gt;
# -- this is done on a single proc&lt;br /&gt;
ideal.exe&lt;br /&gt;
mv rsl.error.0000 ideal_rsl.error.0000&lt;br /&gt;
mv rsl.out.0000 ideal_rsl.out.0000&lt;br /&gt;
&lt;br /&gt;
# main launch&lt;br /&gt;
ccc_mprun -l wrf.exe&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Main submission commands ===&lt;br /&gt;
&lt;br /&gt;
* To launch the job script ''run_gcm.job'':&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccc_msub run_gcm.job&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* To display information about your jobs:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccc_mpp -u $USER &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* To kill job number ''jobid''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccc_mdel jobid&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* To display infos about project accounting:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccc_myproject&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* To display infos about limits:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccc_mqinfo&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* To display infos about partitions:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccc_mpinfo&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Extra Tips ==&lt;br /&gt;
&lt;br /&gt;
*If you encounter a quota issue on Irene, first check:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccc_quota&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
if you ha &amp;quot;disk quota exceeded error message&amp;quot;, this might be because your files/scripts do not have correct right access. To solve this,&lt;br /&gt;
use the following command on all your dirs (before tranfering them to Irene):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
chmod -R g+s NAME_OF_DIR&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== File transfert from Occigen ==&lt;br /&gt;
One should use ccfr:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
module load ccfr&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
A list of available machines is given by&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccfr_ssh -v&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
To log on to Occigen (from Irene):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccfr_ssh occigenlogin@cines&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To copy a file:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccfr_cp occigenlogin@cines:remote_dir local_dir &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Worth knowing about ==&lt;br /&gt;
* The command wget is disabled on Irene, scripts using it will fail...&lt;br /&gt;
* Only &amp;quot;https&amp;quot; is allowed (for svn co, git, etc)&lt;br /&gt;
&lt;br /&gt;
[[Category:FAQ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In case you reach a quota issue, please use the following command on your directory before sending the data:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
chmod -R g+s NAME_OF_DIR&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Aspiga</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Using_Irene_Rome&amp;diff=789</id>
		<title>Using Irene Rome</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Using_Irene_Rome&amp;diff=789"/>
				<updated>2022-09-14T22:03:09Z</updated>
		
		<summary type="html">&lt;p&gt;Aspiga: /* Pure MPI + long run */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page provides a summary of examples and tools designed to help you get used with the Irene Rome environment. (as of July 2022)&lt;br /&gt;
&lt;br /&gt;
== How to access the cluster ==&lt;br /&gt;
&lt;br /&gt;
For people on the &amp;quot;Atmosphères Planétaires&amp;quot; GENCI project who need to open an account on Irene-Rome, here is the procedure:&lt;br /&gt;
&lt;br /&gt;
* Log on to https://www-dcc.extra.cea.fr/CCFR/ and provide various information about yourself &lt;br /&gt;
&lt;br /&gt;
A few tips:&lt;br /&gt;
&lt;br /&gt;
- chose TGCC&lt;br /&gt;
&lt;br /&gt;
- give your PROFESSIONAL phone number (and not your personal cell phone number)&lt;br /&gt;
&lt;br /&gt;
- name of the project: Atmosphères Planétaires  Numéro du Dossier: A0120110391&lt;br /&gt;
&lt;br /&gt;
- Responsable scientifique du projet: M. Ehouarn MILLOUR , ehouarn.millour@lmd.ipsl.fr, 0144275286, Nationalité: Fr&lt;br /&gt;
&lt;br /&gt;
- Responsable sécurité: M. Franck Guyon, franck.guyon@lmd.ipsl.fr, 0144275277, Nationalité: Fr&lt;br /&gt;
&lt;br /&gt;
- IPs &amp;amp; machine names to connect to Irene: 134.157.47.46 (ssh-out.lmd.jussieu.fr) and 134.157.176.129 (ciclad.ipsl.upmc.fr)&lt;br /&gt;
&lt;br /&gt;
- Chose anything you want for the 8 character password&lt;br /&gt;
&lt;br /&gt;
* And then get Ehouarn to sign the form and forward it to Franck for him to sign as well.&lt;br /&gt;
&lt;br /&gt;
* Send the signed form to hotline.tgcc@cea.fr&lt;br /&gt;
&lt;br /&gt;
== Some useful commands ==&lt;br /&gt;
&lt;br /&gt;
* To access the disks of our project on Irene (&amp;quot;Atmosphères Planétaires&amp;quot; GENCI project), add the following line in your .bashrc file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
module switch dfldatadir/gen10391&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To access your work directory (to run your simulations)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd /ccc/work/cont003/gen10391/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you can also access the work directory with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd $CCCWORKDIR&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To access your store directory (to store big data files we are limited in inode number not in filesize! It is recommended to store files of at least 50M, preferably more, e.g. big tar files of 10G or more)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd /ccc/work/cont003/gen10391/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you can also access the store directory with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd $CCCSTOREDIR&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To access the scratch directory&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd $CCCSCRATCHDIR&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
IMPORTANT: the scratchdir is fast access, very big, BUT regularly automatically purged! If you use it do remember to backup stuff on the WORKDIR or STOREDIR.&lt;br /&gt;
&lt;br /&gt;
The scratch purge policy (from machine.info):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Files not accessed for 60 days are automatically purged&lt;br /&gt;
* Symbolic links are not purged&lt;br /&gt;
* Directories that have been empty for more than 30 days are removed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To access Irene Interactive Documentation:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
machine.info&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NB: you can also access the online documentation here: http://www-hpc.cea.fr/tgcc-public/en/html/toc/fulldoc/Introduction.html&lt;br /&gt;
&lt;br /&gt;
* To display infos about project accounting:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccc_myproject &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To know about user and group disk quota&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccc_quota -a&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To know about how long your passwd will be active:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccc_password_expiration&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To change passwd:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
passwd&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Example of a job to run a GCM simulation ==&lt;br /&gt;
&lt;br /&gt;
=== Mixed openMP / MPI ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Partition to run on:&lt;br /&gt;
#MSUB -q rome&lt;br /&gt;
# project to run on &lt;br /&gt;
#MSUB -A  gen10391&lt;br /&gt;
# disks to use&lt;br /&gt;
#MSUB -m  scratch,work,store&lt;br /&gt;
# Job name&lt;br /&gt;
#MSUB -r run_gcm&lt;br /&gt;
# Job standard output:&lt;br /&gt;
#MSUB -o run_gcm.%I&lt;br /&gt;
# Job standard error:&lt;br /&gt;
#MSUB -e run_gcm.%I&lt;br /&gt;
# number of OpenMP threads c&lt;br /&gt;
#MSUB -c 2&lt;br /&gt;
# number of MPI tasks n&lt;br /&gt;
#MSUB -n 16&lt;br /&gt;
# number of nodes to use N&lt;br /&gt;
#MSUB -N 1&lt;br /&gt;
# max job run time T (in seconds)&lt;br /&gt;
#MSUB -T 3600&lt;br /&gt;
# request exculsive use of the node (128 cores)&lt;br /&gt;
##MSUB -x&lt;br /&gt;
&lt;br /&gt;
source ../trunk/LMDZ.COMMON/arch.env&lt;br /&gt;
export OMP_STACKSIZE=400M&lt;br /&gt;
export OMP_NUM_THREADS=2&lt;br /&gt;
&lt;br /&gt;
ccc_mprun -l gcm_32x32x15_phystd_para.e &amp;gt; gcm.out 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Pure MPI + long run ===&lt;br /&gt;
&lt;br /&gt;
The most important parameter for mpi-only runs is ''-n'' &lt;br /&gt;
providing the total number of CPUs &lt;br /&gt;
(ideally a multiple of 128, which is the number of CPUs per core).&lt;br /&gt;
&lt;br /&gt;
Runs longer than 1 day are not possible unless&lt;br /&gt;
selecting a quality-of-service (QoS) &amp;quot;long&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# Partition to run on:&lt;br /&gt;
#MSUB -q rome&lt;br /&gt;
# project to run on &lt;br /&gt;
#MSUB -A  gen10391&lt;br /&gt;
# disks to use&lt;br /&gt;
#MSUB -m  scratch,work,store&lt;br /&gt;
# Job name&lt;br /&gt;
#MSUB -r run_wrf&lt;br /&gt;
# Job standard output:&lt;br /&gt;
#MSUB -o run_wrf.%I&lt;br /&gt;
# Job standard error:&lt;br /&gt;
#MSUB -e run_wrf.%I&lt;br /&gt;
# number of MPI tasks n (total)&lt;br /&gt;
#MSUB -n 256&lt;br /&gt;
# max job run time T (in seconds)&lt;br /&gt;
#MSUB -T 345600&lt;br /&gt;
# select quality-of-service&lt;br /&gt;
# - test &amp;lt; 30min&lt;br /&gt;
# - normal &amp;lt; 1d (default)&lt;br /&gt;
# - long &amp;lt; 3d &lt;br /&gt;
#MSUB -Q long&lt;br /&gt;
&lt;br /&gt;
#############################&lt;br /&gt;
## WRF 257x257 with 1024 proc &lt;br /&gt;
## leads to 8x8 tiles&lt;br /&gt;
## 32 tasks over X &lt;br /&gt;
## 32 tasks over Y&lt;br /&gt;
#############################&lt;br /&gt;
## WRF 129x129 with 256 proc &lt;br /&gt;
## leads to 8x8 tiles&lt;br /&gt;
## 16 tasks over X &lt;br /&gt;
## 16 tasks over Y&lt;br /&gt;
#############################&lt;br /&gt;
&lt;br /&gt;
# load the modules used to compile&lt;br /&gt;
source arch.env&lt;br /&gt;
&lt;br /&gt;
# clean the logs&lt;br /&gt;
rm -rf rsl.*&lt;br /&gt;
&lt;br /&gt;
# create initial state&lt;br /&gt;
# -- this is done on a single proc&lt;br /&gt;
ideal.exe&lt;br /&gt;
mv rsl.error.0000 ideal_rsl.error.0000&lt;br /&gt;
mv rsl.out.0000 ideal_rsl.out.0000&lt;br /&gt;
&lt;br /&gt;
# main launch&lt;br /&gt;
ccc_mprun -l wrf.exe&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Main submission commands ===&lt;br /&gt;
&lt;br /&gt;
* To launch the job script ''run_gcm.job'':&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccc_msub run_gcm.job&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* To display information about your jobs:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccc_mpp -u $USER &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* To kill job number ''jobid''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccc_mdel jobid&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* To display infos about project accounting:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccc_myproject&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* To display infos about limits:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccc_mqinfo&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Extra Tips ==&lt;br /&gt;
&lt;br /&gt;
*If you encounter a quota issue on Irene, first check:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccc_quota&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
if you ha &amp;quot;disk quota exceeded error message&amp;quot;, this might be because your files/scripts do not have correct right access. To solve this,&lt;br /&gt;
use the following command on all your dirs (before tranfering them to Irene):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
chmod -R g+s NAME_OF_DIR&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== File transfert from Occigen ==&lt;br /&gt;
One should use ccfr:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
module load ccfr&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
A list of available machines is given by&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccfr_ssh -v&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
To log on to Occigen (from Irene):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccfr_ssh occigenlogin@cines&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To copy a file:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccfr_cp occigenlogin@cines:remote_dir local_dir &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Worth knowing about ==&lt;br /&gt;
* The command wget is disabled on Irene, scripts using it will fail...&lt;br /&gt;
* Only &amp;quot;https&amp;quot; is allowed (for svn co, git, etc)&lt;br /&gt;
&lt;br /&gt;
[[Category:FAQ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In case you reach a quota issue, please use the following command on your directory before sending the data:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
chmod -R g+s NAME_OF_DIR&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Aspiga</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Using_Irene_Rome&amp;diff=788</id>
		<title>Using Irene Rome</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Using_Irene_Rome&amp;diff=788"/>
				<updated>2022-09-14T22:02:51Z</updated>
		
		<summary type="html">&lt;p&gt;Aspiga: /* Pure MPI + long run */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page provides a summary of examples and tools designed to help you get used with the Irene Rome environment. (as of July 2022)&lt;br /&gt;
&lt;br /&gt;
== How to access the cluster ==&lt;br /&gt;
&lt;br /&gt;
For people on the &amp;quot;Atmosphères Planétaires&amp;quot; GENCI project who need to open an account on Irene-Rome, here is the procedure:&lt;br /&gt;
&lt;br /&gt;
* Log on to https://www-dcc.extra.cea.fr/CCFR/ and provide various information about yourself &lt;br /&gt;
&lt;br /&gt;
A few tips:&lt;br /&gt;
&lt;br /&gt;
- chose TGCC&lt;br /&gt;
&lt;br /&gt;
- give your PROFESSIONAL phone number (and not your personal cell phone number)&lt;br /&gt;
&lt;br /&gt;
- name of the project: Atmosphères Planétaires  Numéro du Dossier: A0120110391&lt;br /&gt;
&lt;br /&gt;
- Responsable scientifique du projet: M. Ehouarn MILLOUR , ehouarn.millour@lmd.ipsl.fr, 0144275286, Nationalité: Fr&lt;br /&gt;
&lt;br /&gt;
- Responsable sécurité: M. Franck Guyon, franck.guyon@lmd.ipsl.fr, 0144275277, Nationalité: Fr&lt;br /&gt;
&lt;br /&gt;
- IPs &amp;amp; machine names to connect to Irene: 134.157.47.46 (ssh-out.lmd.jussieu.fr) and 134.157.176.129 (ciclad.ipsl.upmc.fr)&lt;br /&gt;
&lt;br /&gt;
- Chose anything you want for the 8 character password&lt;br /&gt;
&lt;br /&gt;
* And then get Ehouarn to sign the form and forward it to Franck for him to sign as well.&lt;br /&gt;
&lt;br /&gt;
* Send the signed form to hotline.tgcc@cea.fr&lt;br /&gt;
&lt;br /&gt;
== Some useful commands ==&lt;br /&gt;
&lt;br /&gt;
* To access the disks of our project on Irene (&amp;quot;Atmosphères Planétaires&amp;quot; GENCI project), add the following line in your .bashrc file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
module switch dfldatadir/gen10391&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To access your work directory (to run your simulations)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd /ccc/work/cont003/gen10391/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you can also access the work directory with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd $CCCWORKDIR&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To access your store directory (to store big data files we are limited in inode number not in filesize! It is recommended to store files of at least 50M, preferably more, e.g. big tar files of 10G or more)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd /ccc/work/cont003/gen10391/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you can also access the store directory with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd $CCCSTOREDIR&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To access the scratch directory&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd $CCCSCRATCHDIR&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
IMPORTANT: the scratchdir is fast access, very big, BUT regularly automatically purged! If you use it do remember to backup stuff on the WORKDIR or STOREDIR.&lt;br /&gt;
&lt;br /&gt;
The scratch purge policy (from machine.info):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Files not accessed for 60 days are automatically purged&lt;br /&gt;
* Symbolic links are not purged&lt;br /&gt;
* Directories that have been empty for more than 30 days are removed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To access Irene Interactive Documentation:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
machine.info&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NB: you can also access the online documentation here: http://www-hpc.cea.fr/tgcc-public/en/html/toc/fulldoc/Introduction.html&lt;br /&gt;
&lt;br /&gt;
* To display infos about project accounting:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccc_myproject &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To know about user and group disk quota&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccc_quota -a&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To know about how long your passwd will be active:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccc_password_expiration&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To change passwd:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
passwd&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Example of a job to run a GCM simulation ==&lt;br /&gt;
&lt;br /&gt;
=== Mixed openMP / MPI ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Partition to run on:&lt;br /&gt;
#MSUB -q rome&lt;br /&gt;
# project to run on &lt;br /&gt;
#MSUB -A  gen10391&lt;br /&gt;
# disks to use&lt;br /&gt;
#MSUB -m  scratch,work,store&lt;br /&gt;
# Job name&lt;br /&gt;
#MSUB -r run_gcm&lt;br /&gt;
# Job standard output:&lt;br /&gt;
#MSUB -o run_gcm.%I&lt;br /&gt;
# Job standard error:&lt;br /&gt;
#MSUB -e run_gcm.%I&lt;br /&gt;
# number of OpenMP threads c&lt;br /&gt;
#MSUB -c 2&lt;br /&gt;
# number of MPI tasks n&lt;br /&gt;
#MSUB -n 16&lt;br /&gt;
# number of nodes to use N&lt;br /&gt;
#MSUB -N 1&lt;br /&gt;
# max job run time T (in seconds)&lt;br /&gt;
#MSUB -T 3600&lt;br /&gt;
# request exculsive use of the node (128 cores)&lt;br /&gt;
##MSUB -x&lt;br /&gt;
&lt;br /&gt;
source ../trunk/LMDZ.COMMON/arch.env&lt;br /&gt;
export OMP_STACKSIZE=400M&lt;br /&gt;
export OMP_NUM_THREADS=2&lt;br /&gt;
&lt;br /&gt;
ccc_mprun -l gcm_32x32x15_phystd_para.e &amp;gt; gcm.out 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Pure MPI + long run ===&lt;br /&gt;
&lt;br /&gt;
The most important parameter for mpi-only runs is ''-n'' &lt;br /&gt;
providing the total number of CPUs &lt;br /&gt;
(ideally a multiple of 128, which is the number of CPUs per core).&lt;br /&gt;
&lt;br /&gt;
Runs longer than 1d are not possible unless&lt;br /&gt;
selecting a quality-of-service (QoS) &amp;quot;long&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# Partition to run on:&lt;br /&gt;
#MSUB -q rome&lt;br /&gt;
# project to run on &lt;br /&gt;
#MSUB -A  gen10391&lt;br /&gt;
# disks to use&lt;br /&gt;
#MSUB -m  scratch,work,store&lt;br /&gt;
# Job name&lt;br /&gt;
#MSUB -r run_wrf&lt;br /&gt;
# Job standard output:&lt;br /&gt;
#MSUB -o run_wrf.%I&lt;br /&gt;
# Job standard error:&lt;br /&gt;
#MSUB -e run_wrf.%I&lt;br /&gt;
# number of MPI tasks n (total)&lt;br /&gt;
#MSUB -n 256&lt;br /&gt;
# max job run time T (in seconds)&lt;br /&gt;
#MSUB -T 345600&lt;br /&gt;
# select quality-of-service&lt;br /&gt;
# - test &amp;lt; 30min&lt;br /&gt;
# - normal &amp;lt; 1d (default)&lt;br /&gt;
# - long &amp;lt; 3d &lt;br /&gt;
#MSUB -Q long&lt;br /&gt;
&lt;br /&gt;
#############################&lt;br /&gt;
## WRF 257x257 with 1024 proc &lt;br /&gt;
## leads to 8x8 tiles&lt;br /&gt;
## 32 tasks over X &lt;br /&gt;
## 32 tasks over Y&lt;br /&gt;
#############################&lt;br /&gt;
## WRF 129x129 with 256 proc &lt;br /&gt;
## leads to 8x8 tiles&lt;br /&gt;
## 16 tasks over X &lt;br /&gt;
## 16 tasks over Y&lt;br /&gt;
#############################&lt;br /&gt;
&lt;br /&gt;
# load the modules used to compile&lt;br /&gt;
source arch.env&lt;br /&gt;
&lt;br /&gt;
# clean the logs&lt;br /&gt;
rm -rf rsl.*&lt;br /&gt;
&lt;br /&gt;
# create initial state&lt;br /&gt;
# -- this is done on a single proc&lt;br /&gt;
ideal.exe&lt;br /&gt;
mv rsl.error.0000 ideal_rsl.error.0000&lt;br /&gt;
mv rsl.out.0000 ideal_rsl.out.0000&lt;br /&gt;
&lt;br /&gt;
# main launch&lt;br /&gt;
ccc_mprun -l wrf.exe&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Main submission commands ===&lt;br /&gt;
&lt;br /&gt;
* To launch the job script ''run_gcm.job'':&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccc_msub run_gcm.job&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* To display information about your jobs:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccc_mpp -u $USER &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* To kill job number ''jobid''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccc_mdel jobid&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* To display infos about project accounting:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccc_myproject&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* To display infos about limits:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccc_mqinfo&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Extra Tips ==&lt;br /&gt;
&lt;br /&gt;
*If you encounter a quota issue on Irene, first check:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccc_quota&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
if you ha &amp;quot;disk quota exceeded error message&amp;quot;, this might be because your files/scripts do not have correct right access. To solve this,&lt;br /&gt;
use the following command on all your dirs (before tranfering them to Irene):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
chmod -R g+s NAME_OF_DIR&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== File transfert from Occigen ==&lt;br /&gt;
One should use ccfr:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
module load ccfr&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
A list of available machines is given by&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccfr_ssh -v&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
To log on to Occigen (from Irene):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccfr_ssh occigenlogin@cines&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To copy a file:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccfr_cp occigenlogin@cines:remote_dir local_dir &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Worth knowing about ==&lt;br /&gt;
* The command wget is disabled on Irene, scripts using it will fail...&lt;br /&gt;
* Only &amp;quot;https&amp;quot; is allowed (for svn co, git, etc)&lt;br /&gt;
&lt;br /&gt;
[[Category:FAQ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In case you reach a quota issue, please use the following command on your directory before sending the data:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
chmod -R g+s NAME_OF_DIR&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Aspiga</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Using_Irene_Rome&amp;diff=787</id>
		<title>Using Irene Rome</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Using_Irene_Rome&amp;diff=787"/>
				<updated>2022-09-14T22:02:11Z</updated>
		
		<summary type="html">&lt;p&gt;Aspiga: /* Example of a job to run a GCM simulation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page provides a summary of examples and tools designed to help you get used with the Irene Rome environment. (as of July 2022)&lt;br /&gt;
&lt;br /&gt;
== How to access the cluster ==&lt;br /&gt;
&lt;br /&gt;
For people on the &amp;quot;Atmosphères Planétaires&amp;quot; GENCI project who need to open an account on Irene-Rome, here is the procedure:&lt;br /&gt;
&lt;br /&gt;
* Log on to https://www-dcc.extra.cea.fr/CCFR/ and provide various information about yourself &lt;br /&gt;
&lt;br /&gt;
A few tips:&lt;br /&gt;
&lt;br /&gt;
- chose TGCC&lt;br /&gt;
&lt;br /&gt;
- give your PROFESSIONAL phone number (and not your personal cell phone number)&lt;br /&gt;
&lt;br /&gt;
- name of the project: Atmosphères Planétaires  Numéro du Dossier: A0120110391&lt;br /&gt;
&lt;br /&gt;
- Responsable scientifique du projet: M. Ehouarn MILLOUR , ehouarn.millour@lmd.ipsl.fr, 0144275286, Nationalité: Fr&lt;br /&gt;
&lt;br /&gt;
- Responsable sécurité: M. Franck Guyon, franck.guyon@lmd.ipsl.fr, 0144275277, Nationalité: Fr&lt;br /&gt;
&lt;br /&gt;
- IPs &amp;amp; machine names to connect to Irene: 134.157.47.46 (ssh-out.lmd.jussieu.fr) and 134.157.176.129 (ciclad.ipsl.upmc.fr)&lt;br /&gt;
&lt;br /&gt;
- Chose anything you want for the 8 character password&lt;br /&gt;
&lt;br /&gt;
* And then get Ehouarn to sign the form and forward it to Franck for him to sign as well.&lt;br /&gt;
&lt;br /&gt;
* Send the signed form to hotline.tgcc@cea.fr&lt;br /&gt;
&lt;br /&gt;
== Some useful commands ==&lt;br /&gt;
&lt;br /&gt;
* To access the disks of our project on Irene (&amp;quot;Atmosphères Planétaires&amp;quot; GENCI project), add the following line in your .bashrc file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
module switch dfldatadir/gen10391&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To access your work directory (to run your simulations)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd /ccc/work/cont003/gen10391/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you can also access the work directory with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd $CCCWORKDIR&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To access your store directory (to store big data files we are limited in inode number not in filesize! It is recommended to store files of at least 50M, preferably more, e.g. big tar files of 10G or more)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd /ccc/work/cont003/gen10391/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you can also access the store directory with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd $CCCSTOREDIR&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To access the scratch directory&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd $CCCSCRATCHDIR&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
IMPORTANT: the scratchdir is fast access, very big, BUT regularly automatically purged! If you use it do remember to backup stuff on the WORKDIR or STOREDIR.&lt;br /&gt;
&lt;br /&gt;
The scratch purge policy (from machine.info):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Files not accessed for 60 days are automatically purged&lt;br /&gt;
* Symbolic links are not purged&lt;br /&gt;
* Directories that have been empty for more than 30 days are removed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To access Irene Interactive Documentation:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
machine.info&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NB: you can also access the online documentation here: http://www-hpc.cea.fr/tgcc-public/en/html/toc/fulldoc/Introduction.html&lt;br /&gt;
&lt;br /&gt;
* To display infos about project accounting:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccc_myproject &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To know about user and group disk quota&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccc_quota -a&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To know about how long your passwd will be active:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccc_password_expiration&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To change passwd:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
passwd&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Example of a job to run a GCM simulation ==&lt;br /&gt;
&lt;br /&gt;
=== Mixed openMP / MPI ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Partition to run on:&lt;br /&gt;
#MSUB -q rome&lt;br /&gt;
# project to run on &lt;br /&gt;
#MSUB -A  gen10391&lt;br /&gt;
# disks to use&lt;br /&gt;
#MSUB -m  scratch,work,store&lt;br /&gt;
# Job name&lt;br /&gt;
#MSUB -r run_gcm&lt;br /&gt;
# Job standard output:&lt;br /&gt;
#MSUB -o run_gcm.%I&lt;br /&gt;
# Job standard error:&lt;br /&gt;
#MSUB -e run_gcm.%I&lt;br /&gt;
# number of OpenMP threads c&lt;br /&gt;
#MSUB -c 2&lt;br /&gt;
# number of MPI tasks n&lt;br /&gt;
#MSUB -n 16&lt;br /&gt;
# number of nodes to use N&lt;br /&gt;
#MSUB -N 1&lt;br /&gt;
# max job run time T (in seconds)&lt;br /&gt;
#MSUB -T 3600&lt;br /&gt;
# request exculsive use of the node (128 cores)&lt;br /&gt;
##MSUB -x&lt;br /&gt;
&lt;br /&gt;
source ../trunk/LMDZ.COMMON/arch.env&lt;br /&gt;
export OMP_STACKSIZE=400M&lt;br /&gt;
export OMP_NUM_THREADS=2&lt;br /&gt;
&lt;br /&gt;
ccc_mprun -l gcm_32x32x15_phystd_para.e &amp;gt; gcm.out 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Pure MPI + long run ===&lt;br /&gt;
&lt;br /&gt;
The most important parameter for mpi-only runs is ''-n'' &lt;br /&gt;
providing the total number of CPUs &lt;br /&gt;
(ideally a multiple of 128, which is the number of CPUs per core).&lt;br /&gt;
Runs longer than 1d are not possible unless&lt;br /&gt;
selecting a quality-of-service (QoS) &amp;quot;long&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# Partition to run on:&lt;br /&gt;
#MSUB -q rome&lt;br /&gt;
# project to run on &lt;br /&gt;
#MSUB -A  gen10391&lt;br /&gt;
# disks to use&lt;br /&gt;
#MSUB -m  scratch,work,store&lt;br /&gt;
# Job name&lt;br /&gt;
#MSUB -r run_wrf&lt;br /&gt;
# Job standard output:&lt;br /&gt;
#MSUB -o run_wrf.%I&lt;br /&gt;
# Job standard error:&lt;br /&gt;
#MSUB -e run_wrf.%I&lt;br /&gt;
# number of MPI tasks n (total)&lt;br /&gt;
#MSUB -n 256&lt;br /&gt;
# max job run time T (in seconds)&lt;br /&gt;
#MSUB -T 345600&lt;br /&gt;
# select quality-of-service&lt;br /&gt;
# - test &amp;lt; 30min&lt;br /&gt;
# - normal &amp;lt; 1d (default)&lt;br /&gt;
# - long &amp;lt; 3d &lt;br /&gt;
#MSUB -Q long&lt;br /&gt;
&lt;br /&gt;
#############################&lt;br /&gt;
## WRF 257x257 with 1024 proc &lt;br /&gt;
## leads to 8x8 tiles&lt;br /&gt;
## 32 tasks over X &lt;br /&gt;
## 32 tasks over Y&lt;br /&gt;
#############################&lt;br /&gt;
## WRF 129x129 with 256 proc &lt;br /&gt;
## leads to 8x8 tiles&lt;br /&gt;
## 16 tasks over X &lt;br /&gt;
## 16 tasks over Y&lt;br /&gt;
#############################&lt;br /&gt;
&lt;br /&gt;
# load the modules used to compile&lt;br /&gt;
source arch.env&lt;br /&gt;
&lt;br /&gt;
# clean the logs&lt;br /&gt;
rm -rf rsl.*&lt;br /&gt;
&lt;br /&gt;
# create initial state&lt;br /&gt;
# -- this is done on a single proc&lt;br /&gt;
ideal.exe&lt;br /&gt;
mv rsl.error.0000 ideal_rsl.error.0000&lt;br /&gt;
mv rsl.out.0000 ideal_rsl.out.0000&lt;br /&gt;
&lt;br /&gt;
# main launch&lt;br /&gt;
ccc_mprun -l wrf.exe&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Main submission commands ===&lt;br /&gt;
&lt;br /&gt;
* To launch the job script ''run_gcm.job'':&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccc_msub run_gcm.job&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* To display information about your jobs:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccc_mpp -u $USER &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* To kill job number ''jobid''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccc_mdel jobid&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* To display infos about project accounting:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccc_myproject&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* To display infos about limits:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccc_mqinfo&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Extra Tips ==&lt;br /&gt;
&lt;br /&gt;
*If you encounter a quota issue on Irene, first check:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccc_quota&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
if you ha &amp;quot;disk quota exceeded error message&amp;quot;, this might be because your files/scripts do not have correct right access. To solve this,&lt;br /&gt;
use the following command on all your dirs (before tranfering them to Irene):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
chmod -R g+s NAME_OF_DIR&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== File transfert from Occigen ==&lt;br /&gt;
One should use ccfr:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
module load ccfr&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
A list of available machines is given by&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccfr_ssh -v&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
To log on to Occigen (from Irene):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccfr_ssh occigenlogin@cines&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To copy a file:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccfr_cp occigenlogin@cines:remote_dir local_dir &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Worth knowing about ==&lt;br /&gt;
* The command wget is disabled on Irene, scripts using it will fail...&lt;br /&gt;
* Only &amp;quot;https&amp;quot; is allowed (for svn co, git, etc)&lt;br /&gt;
&lt;br /&gt;
[[Category:FAQ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In case you reach a quota issue, please use the following command on your directory before sending the data:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
chmod -R g+s NAME_OF_DIR&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Aspiga</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Using_Irene_Rome&amp;diff=786</id>
		<title>Using Irene Rome</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Using_Irene_Rome&amp;diff=786"/>
				<updated>2022-09-14T21:28:37Z</updated>
		
		<summary type="html">&lt;p&gt;Aspiga: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page provides a summary of examples and tools designed to help you get used with the Irene Rome environment. (as of July 2022)&lt;br /&gt;
&lt;br /&gt;
== How to access the cluster ==&lt;br /&gt;
&lt;br /&gt;
For people on the &amp;quot;Atmosphères Planétaires&amp;quot; GENCI project who need to open an account on Irene-Rome, here is the procedure:&lt;br /&gt;
&lt;br /&gt;
* Log on to https://www-dcc.extra.cea.fr/CCFR/ and provide various information about yourself &lt;br /&gt;
&lt;br /&gt;
A few tips:&lt;br /&gt;
&lt;br /&gt;
- chose TGCC&lt;br /&gt;
&lt;br /&gt;
- give your PROFESSIONAL phone number (and not your personal cell phone number)&lt;br /&gt;
&lt;br /&gt;
- name of the project: Atmosphères Planétaires  Numéro du Dossier: A0120110391&lt;br /&gt;
&lt;br /&gt;
- Responsable scientifique du projet: M. Ehouarn MILLOUR , ehouarn.millour@lmd.ipsl.fr, 0144275286, Nationalité: Fr&lt;br /&gt;
&lt;br /&gt;
- Responsable sécurité: M. Franck Guyon, franck.guyon@lmd.ipsl.fr, 0144275277, Nationalité: Fr&lt;br /&gt;
&lt;br /&gt;
- IPs &amp;amp; machine names to connect to Irene: 134.157.47.46 (ssh-out.lmd.jussieu.fr) and 134.157.176.129 (ciclad.ipsl.upmc.fr)&lt;br /&gt;
&lt;br /&gt;
- Chose anything you want for the 8 character password&lt;br /&gt;
&lt;br /&gt;
* And then get Ehouarn to sign the form and forward it to Franck for him to sign as well.&lt;br /&gt;
&lt;br /&gt;
* Send the signed form to hotline.tgcc@cea.fr&lt;br /&gt;
&lt;br /&gt;
== Some useful commands ==&lt;br /&gt;
&lt;br /&gt;
* To access the disks of our project on Irene (&amp;quot;Atmosphères Planétaires&amp;quot; GENCI project), add the following line in your .bashrc file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
module switch dfldatadir/gen10391&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To access your work directory (to run your simulations)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd /ccc/work/cont003/gen10391/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you can also access the work directory with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd $CCCWORKDIR&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To access your store directory (to store big data files we are limited in inode number not in filesize! It is recommended to store files of at least 50M, preferably more, e.g. big tar files of 10G or more)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd /ccc/work/cont003/gen10391/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you can also access the store directory with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd $CCCSTOREDIR&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To access the scratch directory&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd $CCCSCRATCHDIR&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
IMPORTANT: the scratchdir is fast access, very big, BUT regularly automatically purged! If you use it do remember to backup stuff on the WORKDIR or STOREDIR.&lt;br /&gt;
&lt;br /&gt;
The scratch purge policy (from machine.info):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Files not accessed for 60 days are automatically purged&lt;br /&gt;
* Symbolic links are not purged&lt;br /&gt;
* Directories that have been empty for more than 30 days are removed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To access Irene Interactive Documentation:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
machine.info&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NB: you can also access the online documentation here: http://www-hpc.cea.fr/tgcc-public/en/html/toc/fulldoc/Introduction.html&lt;br /&gt;
&lt;br /&gt;
* To display infos about project accounting:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccc_myproject &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To know about user and group disk quota&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccc_quota -a&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To know about how long your passwd will be active:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccc_password_expiration&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To change passwd:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
passwd&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Example of a job to run a GCM simulation ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Partition to run on:&lt;br /&gt;
#MSUB -q rome&lt;br /&gt;
# project to run on &lt;br /&gt;
#MSUB -A  gen10391&lt;br /&gt;
# disks to use&lt;br /&gt;
#MSUB -m  scratch,work,store&lt;br /&gt;
# Job name&lt;br /&gt;
#MSUB -r run_gcm&lt;br /&gt;
# Job standard output:&lt;br /&gt;
#MSUB -o run_gcm.%I&lt;br /&gt;
# Job standard error:&lt;br /&gt;
#MSUB -e run_gcm.%I&lt;br /&gt;
# number of OpenMP threads c&lt;br /&gt;
#MSUB -c 2&lt;br /&gt;
# number of MPI tasks n&lt;br /&gt;
#MSUB -n 16&lt;br /&gt;
# number of nodes to use N&lt;br /&gt;
#MSUB -N 1&lt;br /&gt;
# max job run time T (in seconds)&lt;br /&gt;
#MSUB -T 3600&lt;br /&gt;
# request exculsive use of the node (128 cores)&lt;br /&gt;
##MSUB -x&lt;br /&gt;
&lt;br /&gt;
source ../trunk/LMDZ.COMMON/arch.env&lt;br /&gt;
export OMP_STACKSIZE=400M&lt;br /&gt;
export OMP_NUM_THREADS=2&lt;br /&gt;
&lt;br /&gt;
ccc_mprun -l gcm_32x32x15_phystd_para.e &amp;gt; gcm.out 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: the most important parameter for mpi-only runs is -n providing the total number of CPUs (ideally a multiple of 128 which is the number of CPUs per core.&lt;br /&gt;
&lt;br /&gt;
* To launch the job script ''run_gcm.job'':&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccc_msub run_gcm.job&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* To display information about your jobs:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccc_mpp -u $USER &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* To kill job number ''jobid''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccc_mdel jobid&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* To display infos about project accounting:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccc_myproject&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Extra Tips ==&lt;br /&gt;
&lt;br /&gt;
*If you encounter a quota issue on Irene, first check:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccc_quota&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
if you ha &amp;quot;disk quota exceeded error message&amp;quot;, this might be because your files/scripts do not have correct right access. To solve this,&lt;br /&gt;
use the following command on all your dirs (before tranfering them to Irene):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
chmod -R g+s NAME_OF_DIR&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== File transfert from Occigen ==&lt;br /&gt;
One should use ccfr:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
module load ccfr&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
A list of available machines is given by&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccfr_ssh -v&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
To log on to Occigen (from Irene):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccfr_ssh occigenlogin@cines&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To copy a file:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ccfr_cp occigenlogin@cines:remote_dir local_dir &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Worth knowing about ==&lt;br /&gt;
* The command wget is disabled on Irene, scripts using it will fail...&lt;br /&gt;
* Only &amp;quot;https&amp;quot; is allowed (for svn co, git, etc)&lt;br /&gt;
&lt;br /&gt;
[[Category:FAQ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In case you reach a quota issue, please use the following command on your directory before sending the data:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
chmod -R g+s NAME_OF_DIR&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Aspiga</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=How_to_Cite&amp;diff=147</id>
		<title>How to Cite</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=How_to_Cite&amp;diff=147"/>
				<updated>2022-04-13T09:48:15Z</updated>
		
		<summary type="html">&lt;p&gt;Aspiga: /* gas giants */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Main reference to cite the LMD Generic GCM =&lt;br /&gt;
&lt;br /&gt;
* Wordsworth et al. 2011 ?&lt;br /&gt;
* Forget et al., in preparation ?&lt;br /&gt;
* Zelziz and Zane&lt;br /&gt;
&lt;br /&gt;
= Other (more specialized) references =&lt;br /&gt;
&lt;br /&gt;
== exoplanets ==&lt;br /&gt;
&lt;br /&gt;
=== terrestrial exoplanets ===&lt;br /&gt;
&lt;br /&gt;
=== super-Earths ===&lt;br /&gt;
&lt;br /&gt;
=== mini-Neptunes ===&lt;br /&gt;
&lt;br /&gt;
== paleoclimates ==&lt;br /&gt;
&lt;br /&gt;
=== Earth ===&lt;br /&gt;
&lt;br /&gt;
=== Mars ===&lt;br /&gt;
&lt;br /&gt;
=== Venus ===&lt;br /&gt;
&lt;br /&gt;
=== Titan ===&lt;br /&gt;
&lt;br /&gt;
== gas giants ==&lt;br /&gt;
&lt;br /&gt;
=== Saturn ===&lt;br /&gt;
&lt;br /&gt;
==== physics, in particular radiative transfer ====&lt;br /&gt;
Guerlet, S.; Spiga, A.; Sylvestre, M.; Indurain, M.; Fouchet, T.; Leconte, J.; Millour, E.; Wordsworth, R.; Capderou, M.; Bézard, B. and Forget, F., Global climate modeling of Saturn’s atmosphere. Part I: Evaluation of the radiative transfer model, Icarus, vol.238, pp.110 (2014)&lt;br /&gt;
DOI: 10.1016/j.icarus.2014.05.010&lt;br /&gt;
&lt;br /&gt;
==== reference for Saturn DYNAMICO ====&lt;br /&gt;
Spiga, A.; Guerlet, S.; Millour, E.; Indurain, M.; Meurdesoif, Y.; Cabanes, S.; Dubos, T.; Leconte, J.; Boissinot, A.; Lebonnois, S.; Sylvestre, M. and Fouchet, T., Global climate modeling of Saturn's atmosphere. Part II: Multi-annual high-resolution dynamical simulations, Icarus, vol.335, pp.113377 (2020)&lt;br /&gt;
DOI: 10.1016/j.icarus.2019.07.011&lt;br /&gt;
&lt;br /&gt;
=== Jupiter ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Uranus ====&lt;br /&gt;
&lt;br /&gt;
==== Neptune ====&lt;/div&gt;</summary>
		<author><name>Aspiga</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=How_to_Cite&amp;diff=146</id>
		<title>How to Cite</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=How_to_Cite&amp;diff=146"/>
				<updated>2022-04-13T09:44:49Z</updated>
		
		<summary type="html">&lt;p&gt;Aspiga: /* Main reference to cite the LMD Generic GCM */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Main reference to cite the LMD Generic GCM =&lt;br /&gt;
&lt;br /&gt;
* Wordsworth et al. 2011 ?&lt;br /&gt;
* Forget et al., in preparation ?&lt;br /&gt;
* Zelziz and Zane&lt;br /&gt;
&lt;br /&gt;
= Other (more specialized) references =&lt;br /&gt;
&lt;br /&gt;
== exoplanets ==&lt;br /&gt;
&lt;br /&gt;
=== terrestrial exoplanets ===&lt;br /&gt;
&lt;br /&gt;
=== super-Earths ===&lt;br /&gt;
&lt;br /&gt;
=== mini-Neptunes ===&lt;br /&gt;
&lt;br /&gt;
== paleoclimates ==&lt;br /&gt;
&lt;br /&gt;
=== Earth ===&lt;br /&gt;
&lt;br /&gt;
=== Mars ===&lt;br /&gt;
&lt;br /&gt;
=== Venus ===&lt;br /&gt;
&lt;br /&gt;
=== Titan ===&lt;br /&gt;
&lt;br /&gt;
== gas giants ==&lt;br /&gt;
&lt;br /&gt;
=== Jupiter ===&lt;br /&gt;
&lt;br /&gt;
==== Saturn ====&lt;br /&gt;
&lt;br /&gt;
==== Uranus ====&lt;br /&gt;
&lt;br /&gt;
==== Neptune ====&lt;/div&gt;</summary>
		<author><name>Aspiga</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Advanced_Use_of_the_GCM&amp;diff=145</id>
		<title>Advanced Use of the GCM</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Advanced_Use_of_the_GCM&amp;diff=145"/>
				<updated>2022-04-13T09:44:28Z</updated>
		
		<summary type="html">&lt;p&gt;Aspiga: /* Distinctions beween ifort, mpi, etc. */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Running in parallel ==&lt;br /&gt;
&lt;br /&gt;
TO BE COMPLETED&lt;br /&gt;
&lt;br /&gt;
== Distinctions beween ifort, mpi, etc. ==&lt;br /&gt;
&lt;br /&gt;
TO BE COMPLETED&lt;br /&gt;
BWAAAAA&lt;br /&gt;
&lt;br /&gt;
== Distinction between using IOIPSL or XIOS ==&lt;br /&gt;
&lt;br /&gt;
TO BE COMPLETED&lt;br /&gt;
&lt;br /&gt;
== How to Change Vertical and Horizontal Resolutions ==&lt;br /&gt;
&lt;br /&gt;
To run at a different grid resolution than available initial conditions files, one needs to use the tools '''newstart.e''' and '''start2archive.e'''&lt;br /&gt;
&lt;br /&gt;
For example, to create initial states at grid resolution 32×24×25 from NetCDF files start and startfi at grid resolution 64×48×32 :&lt;br /&gt;
&lt;br /&gt;
* Create file ''start_archive.nc'' with '''start2archive.e''' compiled at grid resolution 64×48×32 using old file ''z2sig.def'' used previously&lt;br /&gt;
* Create files ''restart.nc'' and ''restartfi.nc'' with '''newstart.e''' compiled at grid resolution 32×24×25, using a new file ''z2sig.def'' (more details below on the choice of the ''z2sig.def'')&lt;br /&gt;
&lt;br /&gt;
=== What you need to know about the ''z2sig.def'' file (change of vertical resolution only) ===&lt;br /&gt;
&lt;br /&gt;
TO BE COMPLETED&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;!-- [NOT RELEVANT??] If you want to create starts files with tracers for 50 layers using a start archive.nc obtained for 32 layers, do not forget to use the ini_q option in newstart in order to correctly initialize tracers value for layer 33 to layer 50. You just have to answer yes to the question on thermosphere initialization if you want to initialize the thermosphere part only (l=33 to l=50), and no if you want to initialize tracers for all layers (l=0 to l=50). --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== How to Change the Topography (or remove it) ==&lt;br /&gt;
&lt;br /&gt;
TO BE COMPLETED&lt;br /&gt;
&lt;br /&gt;
== How to Change the Opacity Tables ==&lt;br /&gt;
&lt;br /&gt;
TO BE COMPLETED&lt;br /&gt;
&lt;br /&gt;
== How to Manage Tracers ==&lt;br /&gt;
&lt;br /&gt;
The model can include different types of tracers:&lt;br /&gt;
* condensed species (e.g., CO&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;, H&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;O, dust)&lt;br /&gt;
* chemically active species &lt;br /&gt;
* radiatively active gases (e.g., water vapor)&lt;br /&gt;
&lt;br /&gt;
In the code, all tracers are stored in one three-dimensional array q, the third index of which corresponds to each individual tracer. &lt;br /&gt;
&lt;br /&gt;
In input and output files (“start.nc”, “startfi.nc”), tracers are stored separately using their individual names. &lt;br /&gt;
&lt;br /&gt;
Loading specific tracers requires that the approriate tracer names are set in the traceur.def file, and specific computations for given tracers (e.g. computing the water or CO2 cycles) is controlled by setting the corresponding options in the callphys.def file.&lt;br /&gt;
&lt;br /&gt;
TO BE COMPLETED&lt;/div&gt;</summary>
		<author><name>Aspiga</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Quick_Install_and_Run&amp;diff=144</id>
		<title>Quick Install and Run</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Quick_Install_and_Run&amp;diff=144"/>
				<updated>2022-04-13T09:42:46Z</updated>
		
		<summary type="html">&lt;p&gt;Aspiga: /* Data */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tools and Libraries ==&lt;br /&gt;
&lt;br /&gt;
* Fortran compiler (install with gfortran)&lt;br /&gt;
* NetCDF + references to visualization tools (ncview, paraview, grads, etc.)&lt;br /&gt;
* svn&lt;br /&gt;
* FCM&lt;br /&gt;
* IOIPSL&lt;br /&gt;
&lt;br /&gt;
TO BE COMPLETED&lt;br /&gt;
&lt;br /&gt;
== Data ==&lt;br /&gt;
* datadir + starts + other GCM data for test case early Mars (desert planet with a CO2 atmosphere)&lt;br /&gt;
&lt;br /&gt;
TO BE COMPLETED&lt;br /&gt;
&lt;br /&gt;
BWAAAA&lt;br /&gt;
&lt;br /&gt;
== Compiling ==&lt;br /&gt;
* prepare and explain arch files&lt;br /&gt;
* compiling a test case (early Mars)&lt;br /&gt;
&lt;br /&gt;
TO BE COMPLETED&lt;br /&gt;
&lt;br /&gt;
== Running ==&lt;br /&gt;
* run your first simulation&lt;br /&gt;
&lt;br /&gt;
TO BE COMPLETED&lt;br /&gt;
&lt;br /&gt;
== Checking the Results ==&lt;br /&gt;
* everything is cool in the .out file&lt;br /&gt;
* tools to visualize the produced diagfi.nc file: panoply, ncview, paraview, etc.&lt;br /&gt;
&lt;br /&gt;
TO BE COMPLETED&lt;/div&gt;</summary>
		<author><name>Aspiga</name></author>	</entry>

	</feed>