
<?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=150&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>About the types from SURFEX V8.0</title>
		<link>https://www.umr-cnrm.fr/surfex/spip.php?article467</link>
		<guid isPermaLink="true">https://www.umr-cnrm.fr/surfex/spip.php?article467</guid>
		<dc:date>2026-01-27T11:07:46Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>en</dc:language>
		<dc:creator>Minvielle</dc:creator>



		<description>
&lt;p&gt;Let's take coupling_isban.F90, beginning like that: &lt;br class='autobr' /&gt; SUBROUTINE COUPLING_ISBA_n (DTCO, UG, U, USS, IM, DTGD, DTGR, TGRO, DST, SLT, &amp; &lt;br class='autobr' /&gt;
You can further see in the declaration of arguments of the routine: &lt;br class='autobr' /&gt; TYPE(ISBA_MODEL_t), INTENT(INOUT) :: IM TYPE(DATA_COVER_t), INTENT(INOUT) :: DTCO TYPE(SURF_ATM_GRID_t), INTENT(INOUT) :: UG TYPE(SURF_ATM_t), INTENT(INOUT) :: U TYPE(SURF_ATM_SSO_t), INTENT(INOUT) :: USS TYPE(DATA_TEB_GARDEN_t), INTENT(INOUT) :: DTGD TYPE(DATA_TEB_GREENROOF_t), (&#8230;)&lt;/p&gt;


-
&lt;a href="https://www.umr-cnrm.fr/surfex/spip.php?rubrique150" rel="directory"&gt;About the types from Surfex V8.0&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;Let's take &lt;i&gt;coupling_isban.F90&lt;/i&gt;, beginning like that:&lt;/p&gt;
&lt;pre&gt; SUBROUTINE COUPLING_ISBA_n (DTCO, UG, U, USS, IM, DTGD, DTGR, TGRO, DST, SLT, &amp; &lt;/pre&gt;
&lt;p&gt;You can further see in the declaration of arguments of the routine:&lt;/p&gt;
&lt;pre&gt; TYPE(ISBA_MODEL_t), INTENT(INOUT) :: IM TYPE(DATA_COVER_t), INTENT(INOUT) :: DTCO TYPE(SURF_ATM_GRID_t), INTENT(INOUT) :: UG TYPE(SURF_ATM_t), INTENT(INOUT) :: U TYPE(SURF_ATM_SSO_t), INTENT(INOUT) :: USS TYPE(DATA_TEB_GARDEN_t), INTENT(INOUT) :: DTGD TYPE(DATA_TEB_GREENROOF_t), INTENT(INOUT) :: DTGR TYPE(TEB_GREENROOF_OPTIONS_t), INTENT(INOUT) :: TGRO TYPE(DST_t), INTENT(INOUT) :: DST TYPE(SLT_t), INTENT(INOUT) :: SLT &lt;/pre&gt;
&lt;p&gt;What tells you the correspondence between the reduced name of the type (ex. &lt;strong&gt;IM&lt;/strong&gt;) and its full name (ex. &lt;strong&gt;ISBA_MODEL_t&lt;/strong&gt;).&lt;/p&gt;
&lt;p&gt;Then, if you want to find a more precise description of the contents of each type, you can see upper in the routine:&lt;/p&gt;
&lt;pre&gt; USE MODD_SURFEX_n, ONLY : ISBA_MODEL_t ! USE MODD_DATA_COVER_n, ONLY : DATA_COVER_t USE MODD_SURF_ATM_GRID_n, ONLY : SURF_ATM_GRID_t USE MODD_SURF_ATM_n, ONLY : SURF_ATM_t USE MODD_SURF_ATM_SSO_n, ONLY : SURF_ATM_SSO_t USE MODD_DATA_TEB_GARDEN_n, ONLY : DATA_TEB_GARDEN_t USE MODD_DATA_TEB_GREENROOF_n, ONLY : DATA_TEB_GREENROOF_t USE MODD_TEB_GREENROOF_OPTION_n, ONLY : TEB_GREENROOF_OPTIONS_t USE MODD_DST_n, ONLY : DST_t USE MODD_SLT_n, ONLY : SLT_t &lt;/pre&gt;
&lt;p&gt;So you can then open, for example, &lt;i&gt;modd_surfexn.F90&lt;/i&gt;, and see the definition of the type &lt;strong&gt;ISBA_MODEL_t&lt;/strong&gt;:&lt;/p&gt;
&lt;pre&gt; TYPE ISBA_MODEL_t ! TYPE(AGRI_t) :: AG TYPE(CH_ISBA_t) :: CHI TYPE(DATA_ISBA_t) :: DTI TYPE(DIAG_EVAP_ISBA_t) :: DGEI TYPE(DIAG_ISBA_t) :: DGI TYPE(DIAG_MISC_ISBA_t) :: DGMI TYPE(GR_BIOG_t) :: GB TYPE(ISBA_CANOPY_t) :: ICP TYPE(ISBA_GRID_t) :: IG TYPE(ISBA_t) :: I TYPE(PACK_CH_ISBA_t) :: PKCI TYPE(PACK_DIAG_ISBA_t) :: PKDI TYPE(PACK_ISBA_t) :: PKI ! END TYPE ISBA_MODEL_t &lt;/pre&gt;
&lt;p&gt;Then, same way, upper in &lt;i&gt;modd_surfexn.F90&lt;/i&gt;, for example:&lt;/p&gt;
&lt;pre&gt; USE MODD_PACK_ISBA, ONLY : PACK_ISBA_t &lt;/pre&gt;
&lt;p&gt;And finally, opening &lt;i&gt;modd_pack_isba.F90&lt;/i&gt;:&lt;/p&gt;
&lt;pre&gt; TYPE PACK_ISBA_t ! INTEGER :: NSIZE_LSIMPLE INTEGER :: NSIZE_L0 INTEGER :: NSIZE_NSIMPLE (...) REAL, POINTER, DIMENSION(:) :: XP_FFLOOD ! Grdi-cell flood fraction (-) REAL, POINTER, DIMENSION(:) :: XP_PIFLOOD ! Floodplains potential infiltration (kg/m2/s) REAL, POINTER, DIMENSION(:) :: XP_CPS, XP_LVTT, XP_LSTT ! END TYPE PACK_ISBA_t &lt;/pre&gt;
&lt;p&gt;Normally, the reduced names of the types are always the same, in all routines where they appear as arguments.&lt;/p&gt;
&lt;p&gt;These reduced names are all listed in &lt;i&gt;modd_surfexn.F90&lt;/i&gt;.&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>



</channel>

</rss>
