
<?xml
version="1.0" encoding="utf-8"?>
<rss version="2.0" 
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:atom="http://www.w3.org/2005/Atom"
>

<channel xml:lang="en">
	<title>SURFEX</title>
	<link>https://www.umr-cnrm.fr/surfex/</link>
	<description> SURFEX (Surface Externalis&#233;e, in French) is a surface modelling platform developed by M&#233;t&#233;o-France in cooperation with the scientific community.
SURFEX is composed of various physical models for natural land surface, urbanized areas, lakes and oceans. It also simulates chemistry and aerosols surface processes and can be used for assimilation of surface and near surface variables.
SURFEX has its own initialisation procedures and can be used in stand alone mode and coupled to an atmospheric model.
In SURFEX, each model grid box is represented by four surface types : sea or ocean, water bodies (lakes, ...), urban areas and nature (soil and vegetation). Each surface type is modeled with a specific surface model and the total flux of the grid box results from the addition of the individual fluxes weighted by their respective fraction. Summary of the main components of the surfex model Tile NATURE
The model for the tile &#034;Nature&#034; is the ISBA (interaction soil-biosphere-atmosphere) model Tile TOWN
The model for the tile &#034;Town&#034; is the TEB (Town energy balance) model Tile OCEAN
Surface fluxes above the tile &#034;sea and ocean&#034; can be treated in a very simple way or by using more physically based model Tile WATER
Surface fluxes above the lake tile can be treated in a very simple way or by using the FLake model Chemical scheme
Emission and deposition of dust and aerosols are treated over land and oceans Data assimilation
Assimilation of near surface meteorological variables and remotely sensed variables can be performed using an optimal interpolation or an Ensemble Kalman filter scheme </description>
	<language>en</language>
	<generator>SPIP - www.spip.net</generator>
	<atom:link href="https://www.cnrm.meteo.fr/surfex/spip.php?id_rubrique=93&amp;page=backend" rel="self" type="application/rss+xml" />

	<image>
		<title>SURFEX</title>
		<url>https://www.cnrm.meteo.fr/surfex/IMG/logo/test-logo-bleu2.png?1771324290</url>
		<link>https://www.umr-cnrm.fr/surfex/</link>
		<height>22</height>
		<width>144</width>
	</image>



<item xml:lang="en">
		<title>A few recommendations from Rimvydas Jasinskas</title>
		<link>https://www.cnrm.meteo.fr/surfex/spip.php?article367</link>
		<guid isPermaLink="true">https://www.cnrm.meteo.fr/surfex/spip.php?article367</guid>
		<dc:date>2015-03-03T09:16:11Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>en</dc:language>
		



		<description>
&lt;p&gt;Try to avoid these: identically named different variables in different modules explicit kinds (except where needed for I/O or computationally sensitive algorithms) tab and non ASCII characters (specially in namelists) pointer like structures in structures (compiler bugs, very hard to debug).&lt;/p&gt;


-
&lt;a href="https://www.cnrm.meteo.fr/surfex/spip.php?rubrique93" rel="directory"&gt;Rules of coding&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;Try to avoid these:&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; identically named different variables in different modules&lt;/li&gt;&lt;li&gt; explicit kinds (except where needed for I/O or computationally sensitive algorithms)&lt;/li&gt;&lt;li&gt; tab and non ASCII characters (specially in namelists)&lt;/li&gt;&lt;li&gt; pointer like structures in structures (compiler bugs, very hard to debug).&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="en">
		<title>A few rules for programming (from Meso-NH)</title>
		<link>https://www.cnrm.meteo.fr/surfex/spip.php?article194</link>
		<guid isPermaLink="true">https://www.cnrm.meteo.fr/surfex/spip.php?article194</guid>
		<dc:date>2012-04-17T14:33:56Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>en</dc:language>
		



		<description>
&lt;p&gt;The following few rules are intended for SURFEX developers. They must be seen as a facility to read and update the code more than a constraint. The DOCTOR norm must be respected, following article193. Every routine must include the command IMPLICIT NONE at the beginning, and therefore every variable must be declared. A namelist for developers is available for all the programs (NAM_BLANK declared in the module MODN_BLANK and the associated declarative module MODD_BLANK) with a lot of (&#8230;)&lt;/p&gt;


-
&lt;a href="https://www.cnrm.meteo.fr/surfex/spip.php?rubrique93" rel="directory"&gt;Rules of coding&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;The following few rules are intended for SURFEX developers. They must be seen as a facility to read and update the code more than a constraint.&lt;/p&gt;
&lt;ol class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; The DOCTOR norm must be respected, following &lt;a href='https://www.cnrm.meteo.fr/surfex/spip.php?article193' class=&#034;spip_in&#034;&gt;article193&lt;/a&gt;.&lt;/li&gt;&lt;li&gt; Every routine must include the command IMPLICIT NONE at the beginning, and therefore every variable must be declared.&lt;/li&gt;&lt;li&gt; A namelist for developers is available for all the programs (NAM_BLANK declared in the module MODN_BLANK and the associated declarative module MODD_BLANK) with a lot of variables not used in the standard code. The use of these modules is advised. &lt;br/&gt; If the introduction of a new namelist NAM_xxx is absolutely necessary, a namelist module (MODN_xxx) and a declarative module (MODD_xxx) must be declared.&lt;/li&gt;&lt;li&gt; An objective is to limit the duplication of the code. Therefore, a subroutine or a function aaa, included with a CONTAINS at the end of the routine yyy.f 90 must be only called in yyy. If it is necessary to call again this routine aaa in an other routine zzz, it mustn't be duplicated with a CONTAINS in the routine zzz.f 90. A new routine aaa.f 90 must be created, and will be called both in yyy and zzz. As a general rule, the use of the CONTAINS must be limited to low level routines.&lt;/li&gt;&lt;li&gt; You can't use modules with $n in routines without $n.&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="en">
		<title>The DOCTOR norm (from Meso-NH)</title>
		<link>https://www.cnrm.meteo.fr/surfex/spip.php?article193</link>
		<guid isPermaLink="true">https://www.cnrm.meteo.fr/surfex/spip.php?article193</guid>
		<dc:date>2012-04-17T14:20:01Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>en</dc:language>
		



		<description>
&lt;p&gt;The SURFEX code follows the DOCTOR norm. We only recall the following simple rules for prefixing the variable names : &lt;br class='autobr' /&gt; type status INTEGER REAL LOGICAL CHARACTER TYPE global or MODULE N X L C T dummy arguments K P O H TP local variables I Z G Y TZ loop control J - - - - PARAMETER JP PP LP YP - (&#8230;)&lt;/p&gt;


-
&lt;a href="https://www.cnrm.meteo.fr/surfex/spip.php?rubrique93" rel="directory"&gt;Rules of coding&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;The SURFEX code follows the DOCTOR norm. We only recall the following simple rules for prefixing the variable names :&lt;/p&gt; &lt;DIV ALIGN=&#034;CENTER&#034;&gt;
&lt;TABLE CELLPADDING=3 BORDER=&#034;1&#034;&gt;
&lt;TR&gt;
&lt;TD ALIGN=&#034;LEFT&#034;&gt;&lt;FONT SIZE=&#034;-1&#034;&gt; type status &lt;/FONT&gt;&lt;/TD&gt;
&lt;TD ALIGN=&#034;LEFT&#034;&gt;&lt;FONT SIZE=&#034;-1&#034;&gt; INTEGER &lt;/FONT&gt;&lt;/TD&gt;
&lt;TD ALIGN=&#034;LEFT&#034;&gt;&lt;FONT SIZE=&#034;-1&#034;&gt; REAL &lt;/FONT&gt;&lt;/TD&gt;
&lt;TD ALIGN=&#034;LEFT&#034;&gt;&lt;FONT SIZE=&#034;-1&#034;&gt; LOGICAL &lt;/FONT&gt;&lt;/TD&gt;
&lt;TD ALIGN=&#034;LEFT&#034;&gt;&lt;FONT SIZE=&#034;-1&#034;&gt; CHARACTER &lt;/FONT&gt;&lt;/TD&gt;
&lt;TD ALIGN=&#034;LEFT&#034;&gt;&lt;FONT SIZE=&#034;-1&#034;&gt; TYPE &lt;/FONT&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD ALIGN=&#034;LEFT&#034;&gt;&lt;FONT SIZE=&#034;-1&#034;&gt; global or MODULE &lt;/FONT&gt;&lt;/TD&gt;
&lt;TD ALIGN=&#034;LEFT&#034;&gt;&lt;FONT SIZE=&#034;-1&#034;&gt; N &lt;/FONT&gt;&lt;/TD&gt;
&lt;TD ALIGN=&#034;LEFT&#034;&gt;&lt;FONT SIZE=&#034;-1&#034;&gt; X &lt;/FONT&gt;&lt;/TD&gt;
&lt;TD ALIGN=&#034;LEFT&#034;&gt;&lt;FONT SIZE=&#034;-1&#034;&gt; L &lt;/FONT&gt;&lt;/TD&gt;
&lt;TD ALIGN=&#034;LEFT&#034;&gt;&lt;FONT SIZE=&#034;-1&#034;&gt; C &lt;/FONT&gt;&lt;/TD&gt;
&lt;TD ALIGN=&#034;LEFT&#034;&gt;&lt;FONT SIZE=&#034;-1&#034;&gt; T &lt;/FONT&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD ALIGN=&#034;LEFT&#034;&gt;&lt;FONT SIZE=&#034;-1&#034;&gt; dummy arguments &lt;/FONT&gt;&lt;/TD&gt;
&lt;TD ALIGN=&#034;LEFT&#034;&gt;&lt;FONT SIZE=&#034;-1&#034;&gt; K &lt;/FONT&gt;&lt;/TD&gt;
&lt;TD ALIGN=&#034;LEFT&#034;&gt;&lt;FONT SIZE=&#034;-1&#034;&gt; P &lt;/FONT&gt;&lt;/TD&gt;
&lt;TD ALIGN=&#034;LEFT&#034;&gt;&lt;FONT SIZE=&#034;-1&#034;&gt; O &lt;/FONT&gt;&lt;/TD&gt;
&lt;TD ALIGN=&#034;LEFT&#034;&gt;&lt;FONT SIZE=&#034;-1&#034;&gt; H &lt;/FONT&gt;&lt;/TD&gt;
&lt;TD ALIGN=&#034;LEFT&#034;&gt;&lt;FONT SIZE=&#034;-1&#034;&gt; TP &lt;/FONT&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD ALIGN=&#034;LEFT&#034;&gt;&lt;FONT SIZE=&#034;-1&#034;&gt; local variables &lt;/FONT&gt;&lt;/TD&gt;
&lt;TD ALIGN=&#034;LEFT&#034;&gt;&lt;FONT SIZE=&#034;-1&#034;&gt; I &lt;/FONT&gt;&lt;/TD&gt;
&lt;TD ALIGN=&#034;LEFT&#034;&gt;&lt;FONT SIZE=&#034;-1&#034;&gt; Z &lt;/FONT&gt;&lt;/TD&gt;
&lt;TD ALIGN=&#034;LEFT&#034;&gt;&lt;FONT SIZE=&#034;-1&#034;&gt; G &lt;/FONT&gt;&lt;/TD&gt;
&lt;TD ALIGN=&#034;LEFT&#034;&gt;&lt;FONT SIZE=&#034;-1&#034;&gt; Y &lt;/FONT&gt;&lt;/TD&gt;
&lt;TD ALIGN=&#034;LEFT&#034;&gt;&lt;FONT SIZE=&#034;-1&#034;&gt; TZ &lt;/FONT&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD ALIGN=&#034;LEFT&#034;&gt;&lt;FONT SIZE=&#034;-1&#034;&gt; loop control &lt;/FONT&gt;&lt;/TD&gt;
&lt;TD ALIGN=&#034;LEFT&#034;&gt;&lt;FONT SIZE=&#034;-1&#034;&gt; J &lt;/FONT&gt;&lt;/TD&gt;
&lt;TD ALIGN=&#034;LEFT&#034;&gt;&lt;FONT SIZE=&#034;-1&#034;&gt; - &lt;/FONT&gt;&lt;/TD&gt;
&lt;TD ALIGN=&#034;LEFT&#034;&gt;&lt;FONT SIZE=&#034;-1&#034;&gt; - &lt;/FONT&gt;&lt;/TD&gt;
&lt;TD ALIGN=&#034;LEFT&#034;&gt;&lt;FONT SIZE=&#034;-1&#034;&gt; - &lt;/FONT&gt;&lt;/TD&gt;
&lt;TD ALIGN=&#034;LEFT&#034;&gt;&lt;FONT SIZE=&#034;-1&#034;&gt; - &lt;/FONT&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD ALIGN=&#034;LEFT&#034;&gt;&lt;FONT SIZE=&#034;-1&#034;&gt; PARAMETER &lt;/FONT&gt;&lt;/TD&gt;
&lt;TD ALIGN=&#034;LEFT&#034;&gt;&lt;FONT SIZE=&#034;-1&#034;&gt; JP &lt;/FONT&gt;&lt;/TD&gt;
&lt;TD ALIGN=&#034;LEFT&#034;&gt;&lt;FONT SIZE=&#034;-1&#034;&gt; PP &lt;/FONT&gt;&lt;/TD&gt;
&lt;TD ALIGN=&#034;LEFT&#034;&gt;&lt;FONT SIZE=&#034;-1&#034;&gt; LP &lt;/FONT&gt;&lt;/TD&gt;
&lt;TD ALIGN=&#034;LEFT&#034;&gt;&lt;FONT SIZE=&#034;-1&#034;&gt; YP &lt;/FONT&gt;&lt;/TD&gt;
&lt;TD ALIGN=&#034;LEFT&#034;&gt;&lt;FONT SIZE=&#034;-1&#034;&gt; - &lt;/FONT&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD ALIGN=&#034;LEFT&#034;&gt;&lt;FONT SIZE=&#034;-1&#034;&gt; SAVE &lt;/FONT&gt;&lt;/TD&gt;
&lt;TD ALIGN=&#034;LEFT&#034;&gt;&lt;FONT SIZE=&#034;-1&#034;&gt; IS &lt;/FONT&gt;&lt;/TD&gt;
&lt;TD ALIGN=&#034;LEFT&#034;&gt;&lt;FONT SIZE=&#034;-1&#034;&gt; ZS &lt;/FONT&gt;&lt;/TD&gt;
&lt;TD ALIGN=&#034;LEFT&#034;&gt;&lt;FONT SIZE=&#034;-1&#034;&gt; GS &lt;/FONT&gt;&lt;/TD&gt;
&lt;TD ALIGN=&#034;LEFT&#034;&gt;&lt;FONT SIZE=&#034;-1&#034;&gt; YS &lt;/FONT&gt;&lt;/TD&gt;
&lt;TD ALIGN=&#034;LEFT&#034;&gt;&lt;FONT SIZE=&#034;-1&#034;&gt; TS &lt;/FONT&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TABLE&gt;&lt;/DIV&gt;
&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;strong&gt;Prefixing module names&lt;/strong&gt; : The modules which contain only:
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Declarative instructions have the prefix MODD ;&lt;/li&gt;&lt;li&gt; Executive instructions have the prefix MODE ;&lt;/li&gt;&lt;li&gt; Interface instructions have the prefix MODI ;&lt;/li&gt;&lt;li&gt; Namelists have the prefix MODN .&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="en">
		<title>Modifications of the covers files for ECOCLIMAP</title>
		<link>https://www.cnrm.meteo.fr/surfex/spip.php?article162</link>
		<guid isPermaLink="true">https://www.cnrm.meteo.fr/surfex/spip.php?article162</guid>
		<dc:date>2011-11-25T17:16:21Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>en</dc:language>
		



		<description>
&lt;p&gt;The mode_cover files are replaced by some ASC/BIN files ( ecoclimapI_covers_param.bin/dat, ecoclimapII_eu_covers_param.bin/dat, ecoclimapII_af_covers_param.bin/dat), with a little program to convert data from one format to the other, convert_ecoclimap_param.f90. &lt;br class='autobr' /&gt;
These files are present in directory MY_RUN/ECOCLIMAP. &lt;br class='autobr' /&gt;
Possible modifications can be done in the ASC files, then the f90 program has to be adapted to read these ASC modified files. &lt;br class='autobr' /&gt;
And the Surfex subroutine that reads theses (&#8230;)&lt;/p&gt;


-
&lt;a href="https://www.cnrm.meteo.fr/surfex/spip.php?rubrique93" rel="directory"&gt;Rules of coding&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;The &lt;strong&gt;mode_cover&lt;/strong&gt; files are replaced by some ASC/BIN files ( &lt;i&gt;ecoclimapI_covers_param.bin/dat, ecoclimapII_eu_covers_param.bin/dat, ecoclimapII_af_covers_param.bin/dat&lt;/i&gt;), with a little program to convert data from one format to the other, &lt;strong&gt;convert_ecoclimap_param.f90&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;These files are present in directory &lt;strong&gt;MY_RUN/ECOCLIMAP&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Possible modifications can be done in the ASC files, then the f90 program has to be adapted to read these ASC modified files.&lt;/p&gt;
&lt;p&gt;And the Surfex subroutine that reads theses files too: &lt;strong&gt;read_covers_param.F90&lt;/strong&gt;.&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="en">
		<title>Keys of C-precompilation </title>
		<link>https://www.cnrm.meteo.fr/surfex/spip.php?article161</link>
		<guid isPermaLink="true">https://www.cnrm.meteo.fr/surfex/spip.php?article161</guid>
		<dc:date>2011-11-25T17:15:40Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>en</dc:language>
		



		<description>
&lt;p&gt;For the different possible types of I/O files: &lt;br class='autobr' /&gt;
Until before v7, to manage the types of i/o files not present in certain configurations, some dummy files were needed. &lt;br class='autobr' /&gt;
Now, keys of precompilation (1 by type of files) are used. &lt;br class='autobr' /&gt;
When, in the code, there is a reference to a particular type of file, lines must be framed by&#194; : &lt;br class='autobr' /&gt; #ifdef SFX_ASC #endif &lt;br class='autobr' /&gt;
for example for the ASC format. &lt;br class='autobr' /&gt;
Keys associated to I/O types are SFX_ASC, SFX_TXT, SFX_BIN, SFX_OL, SFX_LFI, SFX_FA, SFX_MNH, SFX_ARO, (&#8230;)&lt;/p&gt;


-
&lt;a href="https://www.cnrm.meteo.fr/surfex/spip.php?rubrique93" rel="directory"&gt;Rules of coding&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; For the different possible types of I/O files:&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Until before v7, to manage the types of i/o files not present in certain configurations, some dummy files were needed.&lt;/p&gt;
&lt;p&gt;Now, &lt;strong&gt;keys of precompilation&lt;/strong&gt; (1 by type of files) are used.&lt;/p&gt;
&lt;p&gt;When, in the code, there is a reference to a particular type of file, lines must be framed by&#194; :&lt;/p&gt;
&lt;p&gt;&lt;strong&gt; &lt;i&gt;#ifdef SFX_ASC&lt;/i&gt; &lt;/strong&gt;&lt;br/&gt;
&lt;br/&gt;
&lt;strong&gt; &lt;i&gt;#endif&lt;/i&gt; &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;for example for the ASC format.&lt;/p&gt;
&lt;p&gt;Keys associated to I/O types are SFX_ASC, SFX_TXT, SFX_BIN, SFX_OL, SFX_LFI, SFX_FA, SFX_MNH, SFX_ARO, SFX_NC.&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; For GELATO:&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Not to require GELATO files from the coupled part, it's needed to compile with the key -Din_surfex.&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; For OASIS:&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;To compile OASIS in surfex offline, the key SFXOASIS is used.&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="en">
		<title>Suppression of the allocatable arrays in the time loop of the model</title>
		<link>https://www.cnrm.meteo.fr/surfex/spip.php?article160</link>
		<guid isPermaLink="true">https://www.cnrm.meteo.fr/surfex/spip.php?article160</guid>
		<dc:date>2011-11-25T17:14:00Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>en</dc:language>
		



		<description>
&lt;p&gt;The allocatable arrays have been suppressed (in principle) from the time loop of the model (DO JSURF_STEP=1,INB_ATM). So, no new allocatable arrays may be added.&lt;/p&gt;


-
&lt;a href="https://www.cnrm.meteo.fr/surfex/spip.php?rubrique93" rel="directory"&gt;Rules of coding&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;The allocatable arrays have been suppressed (in principle) from the time loop of the model (DO JSURF_STEP=1,INB_ATM). So, no new allocatable arrays may be added.&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="en">
		<title>Reading of NAMELISTS in one time at the beginning </title>
		<link>https://www.cnrm.meteo.fr/surfex/spip.php?article158</link>
		<guid isPermaLink="true">https://www.cnrm.meteo.fr/surfex/spip.php?article158</guid>
		<dc:date>2011-11-25T17:12:54Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>en</dc:language>
		



		<description>
&lt;p&gt;For the steps PREP and INIT, the reading of namelists is effected by a subroutine READ_ALL_NAMELISTS which is called by the main programs prep.F90 and offline.F90. &lt;br class='autobr' /&gt;
In case of the add of a new namelist, it will be now requested to copy the way the reading is now done.&lt;/p&gt;


-
&lt;a href="https://www.cnrm.meteo.fr/surfex/spip.php?rubrique93" rel="directory"&gt;Rules of coding&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;For the steps &lt;strong&gt;PREP &lt;/strong&gt; and &lt;strong&gt;INIT&lt;/strong&gt;, the reading of &lt;i&gt;namelists&lt;/i&gt; is effected by a subroutine &lt;strong&gt;READ_ALL_NAMELISTS&lt;/strong&gt; which is called by the main programs &lt;i&gt;prep.F90&lt;/i&gt; and &lt;i&gt;offline.F90&lt;/i&gt;.&lt;/p&gt;
&lt;p&gt;In case of the add of a new namelist, it will be now requested to copy the way the reading is now done.&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="en">
		<title>Compilation and modules of interfaces self-generated</title>
		<link>https://www.cnrm.meteo.fr/surfex/spip.php?article156</link>
		<guid isPermaLink="true">https://www.cnrm.meteo.fr/surfex/spip.php?article156</guid>
		<dc:date>2011-11-25T17:00:48Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>en</dc:language>
		



		<description>
&lt;p&gt;Two options of compilation for gfortran are automatically activated (Rules.LXgfortran.mk)&#194; : -fbacktrace to traceback compilation errors -fopenmp to verify the directives openmp in the code &lt;br class='autobr' /&gt;
From Surfex v7, the modules of interfaces were suppressed in files that contain only one subroutine. &lt;br class='autobr' /&gt;
Nevertheless, they are automatically generated during the compilation. &lt;br class='autobr' /&gt;
So that the USE MODI_... are still topical. &lt;br class='autobr' /&gt;
They are not always necessary (as it was the case before), but they allow to (&#8230;)&lt;/p&gt;


-
&lt;a href="https://www.cnrm.meteo.fr/surfex/spip.php?rubrique93" rel="directory"&gt;Rules of coding&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;Two options of compilation for gfortran are automatically activated (&lt;i&gt;Rules.LXgfortran.mk&lt;/i&gt;)&#194; :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;strong&gt;-fbacktrace&lt;/strong&gt; to traceback compilation errors&lt;/li&gt;&lt;li&gt; &lt;strong&gt;-fopenmp&lt;/strong&gt; to verify the directives openmp in the code&lt;/li&gt;&lt;/ul&gt;&lt;hr class=&#034;spip&#034; /&gt;
&lt;p&gt;From Surfex v7, the &lt;strong&gt;modules of interfaces&lt;/strong&gt; were suppressed in files that contain only one subroutine.&lt;/p&gt;
&lt;p&gt;Nevertheless, they are automatically generated during the compilation.&lt;/p&gt;
&lt;p&gt;So that the &lt;i&gt;USE MODI_...&lt;/i&gt; are still topical.&lt;/p&gt;
&lt;p&gt;They are not always necessary (as it was the case before), but they allow to verify the consistency between the arguments passed at the call of a subroutine and the declared arguments into the subroutine.&lt;/p&gt;
&lt;p&gt;So it's recommended to &lt;strong&gt;include them for all called subroutines&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;In case of compilation problems, the suppression of interfaces allows that the indicated line is this of the original file present in SURFEX directory.&lt;/p&gt;
&lt;p&gt;A script to include missing &lt;i&gt;USE MODI_...&lt;/i&gt; exists &lt;a href='https://www.cnrm.meteo.fr/surfex/spip.php?article131'&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>



</channel>

</rss>
