
<?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.umr-cnrm.fr/surfex/spip.php?id_rubrique=147&amp;page=backend" rel="self" type="application/rss+xml" />

	<image>
		<title>SURFEX</title>
		<url>https://www.umr-cnrm.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>Implementation of Dr Hook in the code</title>
		<link>https://www.umr-cnrm.fr/surfex/spip.php?article157</link>
		<guid isPermaLink="true">https://www.umr-cnrm.fr/surfex/spip.php?article157</guid>
		<dc:date>2011-11-25T17:02:23Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>en</dc:language>
		



		<description>
&lt;p&gt;For the developers, in order DR_HOOK to run, each subroutine has to contain several further instructions : &lt;br class='autobr' /&gt;
USE YOMHOOK, ONLY : LHOOK, DR_HOOK USE PARKIND1, ONLY : JPRB &lt;br class='autobr' /&gt;
REAL(KIND=JPRB) :: ZOOK_HANDLE &lt;br class='autobr' /&gt;
Then, just after declarations : IF (LHOOK) CALL DR_HOOK('name of the subroutine',0, ZHOOK_HANDLE) &lt;br class='autobr' /&gt;
And, each time a subroutine is left (ie before each RETURN and before the END SUBROUTINE) : IF (LHOOK) CALL DR_HOOK('name of the subroutine',1,ZHOOK_HANDLE) &lt;br class='autobr' /&gt;
Some scripts to automatically (&#8230;)&lt;/p&gt;


-
&lt;a href="https://www.umr-cnrm.fr/surfex/spip.php?rubrique147" rel="directory"&gt;About DR_HOOK &lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;For the developers, in order DR_HOOK to run, each subroutine has to contain several further instructions :&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;USE YOMHOOK, ONLY : LHOOK, DR_HOOK&lt;br/&gt;
USE PARKIND1, ONLY : JPRB&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;REAL(KIND=JPRB) :: ZOOK_HANDLE&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Then, just after declarations : &lt;br/&gt;
&lt;strong&gt;IF (LHOOK) CALL DR_HOOK('name of the subroutine',0, ZHOOK_HANDLE)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;And, each time a subroutine is left (ie before each RETURN and before the END SUBROUTINE) : &lt;br/&gt;
&lt;strong&gt;IF (LHOOK) CALL DR_HOOK('name of the subroutine',1,ZHOOK_HANDLE)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Some scripts to automatically insert these instructions in .F90 or .F routines exist:&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; get &lt;a href='https://www.umr-cnrm.fr/surfex/data/TOOLS/insert_drhook_F'&gt;insert_drhook_F&lt;/a&gt;, &lt;a href='https://www.umr-cnrm.fr/surfex/data/TOOLS/insert_drhook_F.pl'&gt;insert_drhook_F.pl&lt;/a&gt;, &lt;a href='https://www.umr-cnrm.fr/surfex/data/TOOLS/insert_drhook_F90'&gt;insert_drhook_F90&lt;/a&gt;, &lt;a href='https://www.umr-cnrm.fr/surfex/data/TOOLS/insert_drhook_F90.pl'&gt;insert_drhook_F90.pl&lt;/a&gt;&lt;/li&gt;&lt;li&gt; also get &lt;i&gt;src/Fortran90_stuff_interface.pm&lt;/i&gt;&lt;/li&gt;&lt;li&gt; do &lt;i&gt;./insert_drhook.F90 file.F90&lt;/i&gt; or &lt;i&gt;./insert_drhook.F file.F&lt;/i&gt; to insert Dr Hook instructions&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="en">
		<title>To use DR_HOOK in Surfex</title>
		<link>https://www.umr-cnrm.fr/surfex/spip.php?article145</link>
		<guid isPermaLink="true">https://www.umr-cnrm.fr/surfex/spip.php?article145</guid>
		<dc:date>2011-11-25T16:01:48Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>en</dc:language>
		



		<description>
&lt;p&gt;The debugger and profiler Dr Hook is integrated in Surfex 7. To use the debugger, before to execute the program, type : &lt;br class='autobr' /&gt; export DR_HOOK=1 &lt;br class='autobr' /&gt;
In case of a crash, the traceback and the exact localisation of the error is printed to the screen. To use the profiler of the time spent in the different subroutines, still type : &lt;br class='autobr' /&gt; export DR_HOOK_OPT=prof &lt;br class='autobr' /&gt;
A output file drhook.prof.1 is then created, that contains the profiling.&lt;/p&gt;


-
&lt;a href="https://www.umr-cnrm.fr/surfex/spip.php?rubrique147" rel="directory"&gt;About DR_HOOK &lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;The debugger and profiler &lt;strong&gt;Dr Hook &lt;/strong&gt; is integrated in Surfex 7.&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; To use the debugger, before to execute the program, type :&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt; &lt;i&gt;export DR_HOOK=1&lt;/i&gt; &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In case of a crash, the traceback and the exact localisation of the error is printed to the screen.&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; To use the profiler of the time spent in the different subroutines, still type :&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt; &lt;i&gt;export DR_HOOK_OPT=prof &lt;/i&gt; &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;A output file &lt;i&gt;drhook.prof.1&lt;/i&gt; is then created, that contains the profiling.&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		
		<enclosure url="https://www.umr-cnrm.fr/surfex/IMG/pdf/DrHook.pdf" length="83848" type="application/pdf" />
		

	</item>



</channel>

</rss>
