Index: /trunk/LMDZ.MARS/libf/phymars/xios_output_mod.F90
===================================================================
--- /trunk/LMDZ.MARS/libf/phymars/xios_output_mod.F90	(revision 2940)
+++ /trunk/LMDZ.MARS/libf/phymars/xios_output_mod.F90	(revision 2941)
@@ -27,4 +27,5 @@
   USE regular_lonlat_mod, ONLY: lon_reg, lat_reg
   USE nrtype, ONLY: pi
+  use comslope_mod, ONLY: nslope,def_slope_mean
 #ifdef CPP_XIOS
   USE xios
@@ -62,4 +63,7 @@
     CALL xios_set_axis_attr("soil_layers", n_glo=size(mlayer), value=mlayer,&
                             unit="m",positive="down")
+    IF (prt_level>=10) WRITE(lunout,*) "initialize_xios_output: call xios_set_axis_attr for subslope"
+    CALL xios_set_axis_attr("subslope", n_glo=nslope, value=def_slope_mean,&
+                            unit="degree",positive="up")
     
     ! 2. Declare horizontal domain
Index: /trunk/LMDZ.MARS/util/startarchive2icosa/README
===================================================================
--- /trunk/LMDZ.MARS/util/startarchive2icosa/README	(revision 2940)
+++ /trunk/LMDZ.MARS/util/startarchive2icosa/README	(revision 2941)
@@ -6,5 +6,5 @@
 Run a dynamico simulation (with startphy_file=false for example) with the desired resolution to get
 start.nc and startfi.nc. These files will be used as reference (rename as *_ref.nc) in the script.
-You can use the files named *_no_start to have an example of callphys etc to run without startfiles
+You can use the files named *_no_start to have an example of files to run without startfiles
 
 Job_mpi is the file you need to run start_archive2icosa on Occigen
Index: unk/LMDZ.MARS/util/startarchive2icosa/callphys.def_no_start
===================================================================
--- /trunk/LMDZ.MARS/util/startarchive2icosa/callphys.def_no_start	(revision 2940)
+++ 	(revision )
@@ -1,175 +1,0 @@
-##General options
-##~~~~~~~~~~~~~~~
-#Run with or without tracer transport ?
-tracer=.true.
-
-#Diurnal cycle ?  if diurnal=False, diurnal averaged solar heating
-diurnal=.true.
-
-#Seasonal cycle ? if season=False, Ls stays constant, to value set in "start"
-season = .true.   
-
-#write some more output on the screen ?
-lwrite = .false.
-
-#Save statistics in file "stats.nc" ?
-callstats =.false.
-
-#Save EOF profiles in file "profiles" for Climate Database?
-calleofdump = .false.
-
-#Directory where external input files are:
-datadir=datadir
-
-## use (read/write) a startfi.nc file? (default=.true.)
-startphy_file = .false.
-surfemis      =0.5
-surfalbedo    =0.5
-
-## Dust scenario. Used if the dust is prescribed (i.e. if tracer=F or active=F)
-## ~~~~~~~~~~~~~
-#  =1 Dust opt.deph read in startfi; =2 Viking scenario; =3 MGS scenario,
-#  =4 Mars Year 24 from TES assimilation (old version of MY24; dust_tes.nc file)
-#  =6 "cold" (low dust) scenario ; =7 "warm" (high dust) scenario
-#  =8 "clim" scenario
-#  =24 Mars Year 24 from TES assimilation (ie: MCD reference case)
-#  =25 Mars Year 25 from TES assimilation (ie: a year with a global dust storm)
-#  =26 Mars Year 26 from TES assimilation
-iaervar = 8
-# Dust opacity at 700 Pa (when constant, i.e. for the iaervar=1 case)
-tauvis=0.5
-# Dust vertical distribution: 
-# (=0: old distrib. (Pollack90), =1: top set by "topdustref",
-#  =2: Viking scenario; =3 MGS scenario)
-iddist  = 3
-# Dust top altitude (km). (Matters only if iddist=1)
-topdustref = 55.
-
-## Physical Parameterizations :
-## ~~~~~~~~~~~~~~~~~~~~~~~~~~
-# call radiative transfer ?
-callrad   = .false.
-# call NLTE radiative schemes ?   matters only if callrad=T
-callnlte = .false.
-# NLTE 15um scheme to use.                                                                           
-# 0-> Old scheme, static oxygen                                                                      
-# 1-> Old scheme, dynamic oxygen                                                                     
-# 2-> New scheme                                                                                     
-nltemodel = 0 
-# call CO2 NIR absorption ?   matters only if callrad=T
-callnirco2 = .false.
-# NIR NLTE correction ? matters only if callnirco2=T                                                 
-nircorr=0
-# call turbulent vertical diffusion ?
-calldifv  = .false.
-# call convective adjustment ?
-calladj  = .false.
-# Thermals
-calltherm = .false.
-callrichsl = .false.
-# call CO2 condensation ?
-callcond =.false.
-# call thermal conduction in the soil ?
-callsoil = .false.
-# call Lott's gravity wave/subgrid topography scheme ?
-calllott  = .false.
-calllott_nonoro  = .false.
-# Impose polar cap surface albedos as observed by TES?
-TESicealbedo = .true.
-## Coefficient for Northern cap albedoes
-TESice_Ncoef=1.6
-## Coefficient for Southern cap albedoes
-TESice_Scoef=1.6
-
-
-## Radiative transfer options :
-## ~~~~~~~~~~~~~~~~~~~~~~~~~~
-# the rad.transfer is computed every "iradia" physical timestep
-iradia    = 1
-# Output of the exchange coefficient mattrix ? for diagnostic only
-callg2d  = .false.
-# Rayleigh scattering : (should be .false. for now)
-rayleigh  = .false.
-
-## Tracer (dust water, ice and/or chemical species) options (used if tracer=T):
-## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-# DUST: Transported dust ? (if >0, use 'dustbin' dust bins)
-dustbin    = 0
-# DUST: Radiatively active dust ? (matters if dustbin>0)
-active  = .false.
-# DUST: use mass and number mixing ratios to predict dust size ?
-doubleq   = .false.
-# DUST: lifted by GCM surface winds ?
-lifting = .false.
-# DUST: lifted by dust devils ?
-callddevil = .false.
-# DUST: Scavenging by H2O snowfall ?
-scavenging = .false.
-# DUST: Scavenging by instantaneous CO2 snowfall ?
-scavco2cond = .false.
-
-# DUST: freedust ?
-freedust=.false.
-# DUST: dust injection scheme (if >0, use 'dustinjection')
-dustinjection=0
-# DUST: dust injection scheme coefficient
-coeff_injection=0.25
-# DUST: Rocket Dust Storm scheme
-rdstorm=.false.
-# DUST: slpwind scheme
-slpwind = .false.
-
-# DUST/WATERICE: Gravitationnal sedimentation ?
-sedimentation = .false.
-
-
-# WATERICE: Radiatively active transported atmospheric water ice ?
-activice   = .false.
-# WATER: Compute water cycle
-water = .false.
-# WATER: Microphysical scheme for water-ice clouds?
-microphys = .false.
-# WATER: Microphysical time step for water-ice clouds?  (30 by default)
-#imicro = 100
-# WATER: parameter contact
-mteta = 0.95
-# WATER: current permanent caps at both poles. True IS RECOMMENDED
-#        (with .true., North cap is a source of water and South pole
-#         is a cold trap)
-caps  = .true.
-# WATER: Water ice albedo ?
-albedo_h2o_ice = 0.35
-# WATER: Water ice thermal inertia
-inert_h2o_ice = 800
-# WATER: Frost thickness threshold for albedo
-frost_albedo_threshold = 0.005
-nuice_sed=0.1
-# PHOTOCHEMISTRY: include chemical species 
-photochem  = .false.
-#WATER: subgrid clouds
-CLFvarying=.false.
-#WATER: subgrid clouds
-CLFfixval=1
-#WATER: naerkind
-naerkind=0
-
-## Thermospheric options (relevant if tracer=T) :
-##~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-# call thermosphere ?
-callthermos = .false.
-# WATER: included without cycle (only if water=.false.)
-thermoswater = .false.
-# call thermal conduction ? (only if callthermos=.true.)
-callconduct = .false.
-# call EUV heating ? (only if callthermos=.true.)
-calleuv=.false.
-# call molecular viscosity ? (only if callthermos=.true.)
-callmolvis = .false.
-# call molecular diffusion ? (only if callthermos=.true.)
-callmoldiff = .false.
-# call thermospheric photochemistry ? (only if callthermos=.true.)
-thermochem = .false.
-# date for solar flux calculation: (1985 < date < 2002)
-## (Solar min=1996.4 ave=1993.4 max=1990.6)
-solarcondate = 1993.4
-
Index: /trunk/LMDZ.MARS/util/startarchive2icosa/compile
===================================================================
--- /trunk/LMDZ.MARS/util/startarchive2icosa/compile	(revision 2940)
+++ /trunk/LMDZ.MARS/util/startarchive2icosa/compile	(revision 2941)
@@ -1,12 +1,12 @@
 #!/usr/bin/bash
 
-source ../../../../../trunk_Dynamico/trunk/XIOS/arch.env
-source ../../../../../trunk_Dynamico/trunk/XIOS/arch.path
+source ../../../XIOS/arch.env
+source ../../../XIOS/arch.path
 
 mpif90 -g -traceback start_archive2icosa.f90 \
 $NETCDF_INCDIR $NETCDF_LIBDIR $NETCDF_LIB \
 $HDF5_INCDIR $HDF5_LIBDIR $HDF5_LIB \
--I ../../../../../trunk_Dynamico/trunk/XIOS/inc \
--L ../../../../../trunk_Dynamico/trunk/XIOS/lib -lxios -lstdc++ \
+-I ../../../XIOS/inc \
+-L ../../../XIOS/lib -lxios -lstdc++ \
 -o start_archive2icosa
 
@@ -14,6 +14,6 @@
 $NETCDF_INCDIR $NETCDF_LIBDIR $NETCDF_LIB \
 $HDF5_INCDIR $HDF5_LIBDIR $HDF5_LIB \
--I ../../../../../trunk_Dynamico/trunk/XIOS/inc \
--L ../../../../../trunk_Dynamico/trunk/XIOS/lib -lxios -lstdc++ \
+-I ../../../XIOS/inc \
+-L ../../../XIOS/lib -lxios -lstdc++ \
 -o rearrange_startphy
 
Index: /trunk/LMDZ.MARS/util/startarchive2icosa/icosa_finalize.bash
===================================================================
--- /trunk/LMDZ.MARS/util/startarchive2icosa/icosa_finalize.bash	(revision 2940)
+++ /trunk/LMDZ.MARS/util/startarchive2icosa/icosa_finalize.bash	(revision 2941)
@@ -7,5 +7,5 @@
 # load nco module
 module purge
-source /scratch/cnt0027/lmd1167/adelavois/models/code/XIOS/arch.env #You have to adapt to your own path
+source ../trunk/XIOS/arch.env #You have to adapt to your own path
 #module load nco/4.7.9-gcc-4.8.5-hdf5-1.8.18-openmpi-2.0.4 #Example of version of the module needed
 module load nco
@@ -18,23 +18,22 @@
 ncrename -v lon,longitude -v lat,latitude -d cell,physical_points\
          startphy_icosa_nc3.nc startphy_nc3.nc
-# Temporarily added because program is not yet able to read topography
-# SSO parameters are now taken from a dedicated startarchive.nc 
-# see start2archive_SSO.f90
-#ncks -A -v albedodat,ZMEA,ZSTD,ZSIG,ZGAM,ZTHE \
-#         startphy_icosa_ref.nc startphy_nc3.nc
 #Temporay soildepth array from Dynamico restartfi
-ncks -A -v soildepth \
-         ../../mars_dynamico_update_basic/startfi_0.nc startphy_nc3.nc #You have to adapt to your own path
+ncks -A -v soildepth restartfi.nc startphy_nc3.nc #You have to adapt to your own path
+ncks -A -v subslope_dist restartfi.nc startphy_nc3.nc
+ncks -A -v def_slope restartfi.nc startphy_nc3.nc
 
 nccopy -k 4 startphy_nc3.nc startfi.nc
 
 #Temporary Time variable from start2archive; should be added with xios
-#ncks -A -v Time \
-#         start_archive_nc4.nc startfi.nc
 ncks -O -x -v time_counter startfi.nc startfi.nc_tmp
 ncks -A -v Time start.nc startfi.nc_tmp
+ncks -A -v flux_geo restartfi.nc startfi.nc_tmp
+ncks -A -v wstar restartfi.nc startfi.nc_tmp
+ncks -A -v hmons restartfi.nc startfi.nc_tmp
+ncks -A -v summit restartfi.nc startfi.nc_tmp
+ncks -A -v base restartfi.nc startfi.nc_tmp
 cp startfi.nc_tmp startfi.nc
 
-rearrange_startphy > rearrange_startphy.out 2>&1
+./rearrange_startphy > rearrange_startphy.out 2>&1
 
 # make a proper start.nc file based on start_icosa.nc
@@ -51,21 +50,9 @@
      start_icosa_ref.nc start_icosa.nc
 
+ncks -A -v W,geopot,q,nq start_icosa_ref.nc start_icosa.nc
+
 # In the current version of Dynamico, the variable q for tracer is needed but unused.
 # To create this unused variable simply run this short python code
 
-#import numpy as np
-#import netCDF4 as nc
-
-#fn = 'start_icosa.nc'
-#ds = nc.Dataset(fn, 'a', format='NETCDF4')
-#nq = ds.createDimension('nq', 7)
-
-#q = ds.createVariable('q', 'f8', ('nq','lev', 'cell_mesh',))
-#nqq = ds.createVariable('nq', 'f8', ('nq',))
-#q[:,:,:]=0.
-#q.online_operation = "once"
-#q.coordinates = "lat lon"
-#ds.close()
-
 # cleanup
 rm -rf startphy_icosa_nc3.nc startphy_nc3.nc
Index: /trunk/LMDZ.MARS/util/startarchive2icosa/iodef.xml
===================================================================
--- /trunk/LMDZ.MARS/util/startarchive2icosa/iodef.xml	(revision 2940)
+++ /trunk/LMDZ.MARS/util/startarchive2icosa/iodef.xml	(revision 2941)
@@ -11,6 +11,17 @@
       <!-- 2D fields -->
       <field id="ps_clean" />
+      <!-- orography fields -->
+      <field id="ZMEA_clean" />
+      <field id="ZSTD_clean" />
+      <field id="ZSIG_clean" />
+      <field id="ZGAM_clean" />
+      <field id="ZTHE_clean" />
+      <field id="albedodat_clean" />
+      <field id="z0_clean" />
+    </field_group>
+    
+    <field_group  id="fields_2D_dst_subslope" grid_ref="src_grid_regular_clean_subslope" >
+      <!-- 2D fields -->
       <field id="tsurf_clean" />
-      <!--<field id="co2ice_clean" />-->
       <field id="emis_clean" />
       <!-- 2D fields associated to tracers-->
@@ -22,12 +33,8 @@
       <field id="h2o_ice_surf_clean" />
       <field id="h2o_vap_surf_clean" />
-      <!-- orography fields -->
-      <field id="ZMEA_clean" />
-      <field id="ZSTD_clean" />
-      <field id="ZSIG_clean" />
-      <field id="ZGAM_clean" />
-      <field id="ZTHE_clean" />
-      <field id="albedodat_clean" />
-      <field id="z0_clean" />
+      <field id="stormdust_number_surf_clean" />
+      <field id="stormdust_mass_surf_clean" />
+      <field id="topdust_number_surf_clean" />
+      <field id="topdust_mass_surf_clean" />
     </field_group>
     <!-- -->
@@ -50,9 +57,17 @@
       <field id="h2o_ice_clean" grid_ref="src_grid_regular_clean" />
       <field id="h2o_vap_clean" grid_ref="src_grid_regular_clean" />
+      <field id="stormdust_number_clean" grid_ref="src_grid_regular_clean" />
+      <field id="stormdust_mass_clean" grid_ref="src_grid_regular_clean" />
+      <field id="topdust_number_clean" grid_ref="src_grid_regular_clean" />
+      <field id="topdust_mass_clean" grid_ref="src_grid_regular_clean" />
       <!-- soil -->
-      <field id="tsoil_clean" grid_ref="src_grid_soil_clean" />
       <field id="inertiedat_clean" grid_ref="src_grid_soil_clean" />
       <!-- q2 -->
       <field id="q2_clean" grid_ref="src_grid_regular_p1_clean" />
+    </field_group>
+    
+    <field_group  id="fields_dst_subslope" grid_ref="src_3d_grid_regular_clean_subslope">
+      <!-- from topography file -->
+      <field id="tsoil_clean"  />
     </field_group>
     
@@ -69,17 +84,5 @@
                       operation="instant" >
           <field id="src_ps" name="ps" />
-          <!--field id="src_phis" name="phisinit" /-->
-          <field id="src_tsurf" name="tsurf" />
-          <!--<field id="src_co2ice" name="co2ice" />/-->
-          <field id="src_emis" name="emis" />
           <field id="src_q2surf" name="q2surf" />
-          <!--2D fields associated with tracers-->
-          <field id="src_co2_surf" name="co2_surf" />
-          <field id="src_dust_number_surf" name="dust_number_surf" />
-          <field id="src_dust_mass_surf" name="dust_mass_surf" />
-          <field id="src_ccn_number_surf" name="ccn_number_surf" />
-          <field id="src_ccn_mass_surf" name="ccn_mass_surf" />
-          <field id="src_h2o_ice_surf" name="h2o_ice_surf" />
-          <field id="src_h2o_vap_surf" name="h2o_vap_surf" />
           <!--Subscale Orography-->
           <field id="src_ZMEA" name="ZMEA" />
@@ -91,4 +94,23 @@
           <field id="src_z0" name="z0" />
          </field_group>
+         
+         <field_group freq_offset="1ts"
+                      grid_ref="src_grid_regular_subslope"
+                      operation="instant" >
+          <field id="src_tsurf" name="tsurf" />
+          <field id="src_emis" name="emis" />
+          <!--2D fields associated with tracers-->
+          <field id="src_co2_surf" name="co2_surf" />
+          <field id="src_dust_number_surf" name="dust_number_surf" />
+          <field id="src_dust_mass_surf" name="dust_mass_surf" />
+          <field id="src_ccn_number_surf" name="ccn_number_surf" />
+          <field id="src_ccn_mass_surf" name="ccn_mass_surf" />
+          <field id="src_h2o_ice_surf" name="h2o_ice_surf" />
+          <field id="src_h2o_vap_surf" name="h2o_vap_surf" />
+          <field id="src_stormdust_number_surf" name="stormdust_number_surf" />
+          <field id="src_stormdust_mass_surf" name="stormdust_mass_surf" />
+          <field id="src_topdust_number_surf" name="topdust_number_surf" />
+          <field id="src_topdust_mass_surf" name="topdust_mass_surf" />
+         </field_group>
          <!-- 3D fields -->
           <field id="src_temp" name="temp" freq_offset="1ts"
@@ -126,7 +148,19 @@
                  grid_ref="src_grid_regular"
                  operation="instant" />
+          <field id="src_trac8" name="stormdust_number" freq_offset="1ts"
+                 grid_ref="src_grid_regular"
+                 operation="instant" />
+          <field id="src_trac9" name="stormdust_mass" freq_offset="1ts"
+                 grid_ref="src_grid_regular"
+                 operation="instant" />
+          <field id="src_trac10" name="topdust_number" freq_offset="1ts"
+                 grid_ref="src_grid_regular"
+                 operation="instant" />
+          <field id="src_trac11" name="topdust_mass" freq_offset="1ts"
+                 grid_ref="src_grid_regular"
+                 operation="instant" />
          <!-- soil fields -->
           <field id="src_tsoil" name="tsoil" freq_offset="1ts"
-                 grid_ref="src_grid_soil"
+                 grid_ref="src_grid_soil_subslope"
                  operation="instant" />
           <field id="src_inertiedat" name="inertiedat" freq_offset="1ts"
@@ -184,11 +218,22 @@
                  grid_ref="dst_grid_unstructured"
                  operation="once" />
+          <field field_ref="stormdust_number_clean" name="stormdust_number"
+                 grid_ref="dst_grid_unstructured"
+                 operation="once" />
+          <field field_ref="stormdust_mass_clean" name="stormdust_mass"
+                 grid_ref="dst_grid_unstructured"
+                 operation="once" />
+          <field field_ref="topdust_number_clean" name="topdust_number"
+                 grid_ref="dst_grid_unstructured"
+                 operation="once" />
+          <field field_ref="topdust_mass_clean" name="topdust_mass"
+                 grid_ref="dst_grid_unstructured"
+                 operation="once" />
         </file>
         <file id="startfi_prefinalize" name="startfi_prefinalize" >
          <!-- 2D fields -->
-         <field_group domain_ref="dst_domain_unstructured"
+         <field_group grid_ref="dst_grid_unstructured_subslope"
                       operation="once" >
           <field field_ref="tsurf_clean" name="tsurf" />
-          <!--<field field_ref="co2ice_clean" name="co2ice" />-->
           <field field_ref="emis_clean" name="emis" />
          <!-- 2D fields associated to tracers -->
@@ -200,5 +245,12 @@
           <field field_ref="h2o_ice_surf_clean" name="h2o_ice" />
           <field field_ref="h2o_vap_surf_clean" name="h2o_vap" />
+          <field field_ref="stormdust_number_surf_clean" name="stormdust_number" />
+          <field field_ref="stormdust_mass_surf_clean" name="stormdust_mass" />
+          <field field_ref="topdust_number_surf_clean" name="topdust_number" />
+          <field field_ref="topdust_mass_surf_clean" name="topdust_mass" />
+          </field_group>
          <!-- Topo -->
+         <field_group domain_ref="dst_domain_unstructured"
+                      operation="once" >
           <field field_ref="topo" name="phisfi" />
           <field field_ref="ZMEA_clean" name="ZMEA" />
@@ -212,5 +264,5 @@
          <!-- soil fields -->
           <field field_ref="tsoil_clean" name="tsoil"
-                 grid_ref="dst_grid_soil_unstructured"
+                 grid_ref="dst_grid_soil_unstructured_subslope"
                  operation="once" />
           <field field_ref="inertiedat_clean" name="inertiedat"
@@ -233,4 +285,5 @@
      <axis id="nq" name="nq" />
      <axis id="soil_layers" name="subsurface_layers" />
+     <axis id="subslope" name="subslope" />
    </axis_definition>
 
@@ -261,4 +314,12 @@
         <axis axis_ref="lev" />
       </grid>
+      <grid id="src_grid_regular_subslope">
+        <domain domain_ref="src_domain_regular" />
+        <axis axis_ref="subslope" />
+      </grid>
+      <grid id="src_grid_regular_clean_subslope">
+        <domain domain_ref="src_domain_regular_clean" />
+        <axis axis_ref="subslope" />
+      </grid>
       <grid id="src_grid_regular_clean">
         <domain domain_ref="src_domain_regular_clean" />
@@ -277,4 +338,14 @@
         <domain domain_ref="src_domain_regular" />
         <axis axis_ref="soil_layers" />
+      </grid>
+      <grid id="src_grid_soil_subslope">
+        <domain domain_ref="src_domain_regular" />
+        <axis axis_ref="soil_layers" />
+        <axis axis_ref="subslope" />
+      </grid>
+      <grid id="src_3d_grid_regular_clean_subslope">
+        <domain domain_ref="src_domain_regular_clean" />
+        <axis axis_ref="soil_layers" />
+        <axis axis_ref="subslope" />
       </grid>
       <grid id="src_grid_soil_clean">
@@ -289,4 +360,8 @@
         <axis axis_ref="lev" />
       </grid>
+      <grid id="dst_grid_unstructured_subslope">
+        <domain domain_ref="dst_domain_unstructured" />
+        <axis axis_ref="subslope" />
+      </grid>
       <grid id="dst_p1_grid_unstructured">
         <domain domain_ref="dst_domain_unstructured" />
@@ -301,4 +376,9 @@
         <domain domain_ref="dst_domain_unstructured" />
         <axis axis_ref="soil_layers" />
+      </grid>
+      <grid id="dst_grid_soil_unstructured_subslope">
+        <domain domain_ref="dst_domain_unstructured" />
+        <axis axis_ref="soil_layers" />
+        <axis axis_ref="subslope" />
       </grid>
     </grid_group>
Index: /trunk/LMDZ.MARS/util/startarchive2icosa/rearrange_startphy.f90
===================================================================
--- /trunk/LMDZ.MARS/util/startarchive2icosa/rearrange_startphy.f90	(revision 2940)
+++ /trunk/LMDZ.MARS/util/startarchive2icosa/rearrange_startphy.f90	(revision 2941)
@@ -6,5 +6,5 @@
 
 INTEGER :: ncid
-INTEGER :: dimids(4)
+INTEGER :: dimids(9)
 INTEGER :: varid
 INTEGER :: ierr
@@ -12,7 +12,10 @@
 INTEGER :: ndim
 CHARACTER(LEN=100) :: varname
-INTEGER :: varname_dimids(5)
+INTEGER :: varname_dimids(9)
 
 INTEGER :: i,j,k,nb_cells,nlev,nsoil,nvertex,nlev_p1
+
+INTEGER :: physical_points, subslope, index_, inter_slope, subsurface_layer, lev_p1, Time, nslope      
+
 INTEGER,ALLOCATABLE :: cell_index(:)
 REAL,ALLOCATABLE :: ref_lon(:)
@@ -25,4 +28,6 @@
 REAL,ALLOCATABLE :: ref_field_soil(:,:),field_soil(:,:)
 REAL,ALLOCATABLE :: ref_field_vertex(:,:),field_vertex(:,:)
+REAL,ALLOCATABLE :: ref_field_subslope(:,:),field_subslope(:,:)
+REAL,ALLOCATABLE :: ref_field_soil_subslope(:,:,:),field_soil_subslope(:,:,:)
 REAL :: lati,loni
 REAL :: diff_lat,diff_lon
@@ -121,25 +126,47 @@
   ! load, rearrange and write variables
   ierr=NF90_INQ_DIMID(ncid,"physical_points",dimids(1))
-  ierr=NF90_INQ_DIMID(ncid,"lev",dimids(2))
-  ierr=NF90_INQUIRE_DIMENSION(ncid, dimids(2), len=nlev)
-  ierr=NF90_INQ_DIMID(ncid,"subsurface_layers",dimids(3))
-  ierr=NF90_INQUIRE_DIMENSION(ncid, dimids(3), len=nsoil)
-  ierr=NF90_INQ_DIMID(ncid,"nvertex",dimids(4))
-  ierr=NF90_INQUIRE_DIMENSION(ncid, dimids(4), len=nvertex)
-  ierr=NF90_INQ_DIMID(ncid,"lev_p1",dimids(5))
-  ierr=NF90_INQUIRE_DIMENSION(ncid, dimids(2), len=nlev_p1)
+  ierr=NF90_INQUIRE_DIMENSION(ncid, dimids(1), len=physical_points)
+  ierr=NF90_INQ_DIMID(ncid,"nvertex",dimids(2))
+  ierr=NF90_INQUIRE_DIMENSION(ncid, dimids(2), len=nvertex)
+  ierr=NF90_INQ_DIMID(ncid,"subslope",dimids(3))
+  ierr=NF90_INQUIRE_DIMENSION(ncid, dimids(3), len=subslope)
+  ierr=NF90_INQ_DIMID(ncid,"index",dimids(4))
+  ierr=NF90_INQUIRE_DIMENSION(ncid, dimids(4), len=index_)
+  ierr=NF90_INQ_DIMID(ncid,"inter_slope",dimids(5))
+  ierr=NF90_INQUIRE_DIMENSION(ncid, dimids(5), len=inter_slope)
+  ierr=NF90_INQ_DIMID(ncid,"subsurface_layers",dimids(6))
+  ierr=NF90_INQUIRE_DIMENSION(ncid, dimids(6), len=subsurface_layer)
+  ierr=NF90_INQ_DIMID(ncid,"lev_p1",dimids(7))
+  ierr=NF90_INQUIRE_DIMENSION(ncid, dimids(7), len=lev_p1)
+  ierr=NF90_INQ_DIMID(ncid,"Time",dimids(8))
+  ierr=NF90_INQUIRE_DIMENSION(ncid, dimids(8), len=Time)
+  ierr=NF90_INQ_DIMID(ncid,"nslope",dimids(9))
+  ierr=NF90_INQUIRE_DIMENSION(ncid, dimids(9), len=nslope)
   ierr=NF90_INQUIRE(ncid,nVariables=nvar)
+  
+
+!  ierr=NF90_INQ_DIMID(ncid,"lev",dimids(2))
+!  ierr=NF90_INQUIRE_DIMENSION(ncid, dimids(2), len=nlev)
+!  ierr=NF90_INQ_DIMID(ncid,"subsurface_layers",dimids(3))
+!  ierr=NF90_INQUIRE_DIMENSION(ncid, dimids(3), len=nsoil)
+!  ierr=NF90_INQ_DIMID(ncid,"nvertex",dimids(4))
+!  ierr=NF90_INQUIRE_DIMENSION(ncid, dimids(4), len=nvertex)
+!  ierr=NF90_INQ_DIMID(ncid,"lev_p1",dimids(5))
+!  ierr=NF90_INQUIRE_DIMENSION(ncid, dimids(2), len=nlev_p1)
+
   write(*,*) "nvar=",nvar
-  allocate(ref_field(nb_cells),field(nb_cells))
-  allocate(ref_field_3D(nb_cells,nlev),field_3D(nb_cells,nlev))
-  allocate(ref_field_3D_p1(nb_cells,nlev_p1),field_3D_p1(nb_cells,nlev_p1))
-  allocate(ref_field_soil(nb_cells,nsoil),field_soil(nb_cells,nsoil))
-  allocate(ref_field_vertex(nvertex,nb_cells),field_vertex(nvertex,nb_cells))
+  allocate(ref_field(physical_points),field(physical_points))
+  allocate(ref_field_3D_p1(physical_points,lev_p1),field_3D_p1(physical_points,lev_p1))
+  allocate(ref_field_subslope(physical_points,subslope),field_subslope(physical_points,subslope))
+  allocate(ref_field_soil(physical_points,subsurface_layer),field_soil(physical_points,subsurface_layer))
+  allocate(ref_field_vertex(nvertex,physical_points),field_vertex(nvertex,physical_points))
+  allocate(ref_field_soil_subslope(physical_points,subsurface_layer,subslope),field_soil_subslope(physical_points,subsurface_layer,subslope))
   write(*,*) "dimids :", dimids
+  
   ! loop over variables:
   do k=1,nvar
     varname_dimids(:)=0
     ierr=NF90_INQUIRE_VARIABLE(ncid,k,name=varname,ndims=ndim,dimids=varname_dimids)
-      write(*,*) "name: ",trim(varname),"; dimensions:",varname_dimids
+      write(*,*) "name: ",trim(varname),";ndim=",ndim,"; dimensions:",varname_dimids
     if (ierr /= nf90_noerr) then
       write(*,*) "error for variable k=",k
@@ -159,6 +186,6 @@
       ierr=NF90_PUT_VAR(ncid,varid,field)
 
-    ! Processing 3D variables : bounds_lon and bounds_lat
-    else if ((ndim==2).and.(varname_dimids(1)==dimids(4))) then
+    ! Processing vertex variables : bounds_lon and bounds_lat
+    else if ((ndim==2).and.(varname_dimids(1)==dimids(2))) then
       write(*,*) "processing ",trim(varname)
       ! load field_3D
@@ -174,23 +201,39 @@
       ierr=NF90_PUT_VAR(ncid,varid,field_vertex)
       if (ierr /= nf90_noerr) print*,"error putvar ",trim(varname)
- 
+      
+    ! Processing 3D variables : subslope
+    else if ((ndim==2).and.(varname_dimids(2)==dimids(3))) then
+      write(*,*) "processing ",trim(varname)
+      ! load field_3D
+      ierr=NF90_INQ_VARID(ncid,varname,varid)
+      if (ierr /= nf90_noerr) print*,"error inqvarid ",trim(varname)
+      ierr=NF90_GET_VAR(ncid,varid,ref_field_subslope)
+      if (ierr /= nf90_noerr) print*,"error get_var ",trim(varname)
+      ! rearrange field_3D
+      do i=1,nb_cells
+        field_subslope(cell_index(i),:)=ref_field_subslope(i,:)
+      enddo
+      ! write field_3D
+      ierr=NF90_PUT_VAR(ncid,varid,field_subslope)
+      if (ierr /= nf90_noerr) print*,"error putvar ",trim(varname)
+
     ! Processing 3D variables : altitude
-    else if ((ndim==2).and.(varname_dimids(2)==dimids(2))) then
-      write(*,*) "processing ",trim(varname)
-      ! load field_3D
-      ierr=NF90_INQ_VARID(ncid,varname,varid)
-      if (ierr /= nf90_noerr) print*,"error inqvarid ",trim(varname)
-      ierr=NF90_GET_VAR(ncid,varid,ref_field_3D)
-      if (ierr /= nf90_noerr) print*,"error get_var ",trim(varname)
-      ! rearrange field_3D
-      do i=1,nb_cells
-        field_3D(cell_index(i),:)=ref_field_3D(i,:)
-      enddo
-      ! write field_3D
-      ierr=NF90_PUT_VAR(ncid,varid,field_3D)
+    else if ((ndim==2).and.(varname_dimids(2)==dimids(7))) then
+      write(*,*) "processing ",trim(varname)
+      ! load field_3D
+      ierr=NF90_INQ_VARID(ncid,varname,varid)
+      if (ierr /= nf90_noerr) print*,"error inqvarid ",trim(varname)
+      ierr=NF90_GET_VAR(ncid,varid,ref_field_3D_p1)
+      if (ierr /= nf90_noerr) print*,"error get_var ",trim(varname)
+      ! rearrange field_3D
+      do i=1,nb_cells
+        field_3D_p1(cell_index(i),:)=ref_field_3D_p1(i,:)
+      enddo
+      ! write field_3D
+      ierr=NF90_PUT_VAR(ncid,varid,field_3D_p1)
       if (ierr /= nf90_noerr) print*,"error putvar ",trim(varname)
 
     ! Processing 3D variables : soil
-    else if ((ndim==2).and.(varname_dimids(2)==dimids(3))) then
+    else if ((ndim==2).and.(varname_dimids(2)==dimids(6))) then
       write(*,*) "processing ",trim(varname)
       ! load field_soil
@@ -207,19 +250,22 @@
       if (ierr /= nf90_noerr) print*,"error putvar ",trim(varname)
 
-    ! Processing 3D variables : q2 with lev_p1 as vertical axis
-    else if ((ndim==2).and.(varname_dimids(2)==dimids(5))) then
-      write(*,*) "processing ",trim(varname)
-      ! load field_3D
-      ierr=NF90_INQ_VARID(ncid,varname,varid)
-      if (ierr /= nf90_noerr) print*,"error inqvarid ",trim(varname)
-      ierr=NF90_GET_VAR(ncid,varid,ref_field_3D_p1)
-      if (ierr /= nf90_noerr) print*,"error get_var ",trim(varname)
-      ! rearrange field_3D
-      do i=1,nb_cells
-        field_3D_p1(cell_index(i),:)=ref_field_3D_p1(i,:)
-      enddo
-      ! write field_3D
-      ierr=NF90_PUT_VAR(ncid,varid,field_3D_p1)
-      if (ierr /= nf90_noerr) print*,"error putvar ",trim(varname)
+    ! Processing 3D variables : tsoil
+    else if ((ndim==3).and.(varname_dimids(3)==dimids(3))) then
+      write(*,*) "processing ",trim(varname)
+      ! load field_3D
+      ierr=NF90_INQ_VARID(ncid,varname,varid)
+      if (ierr /= nf90_noerr) print*,"error inqvarid ",trim(varname)
+      ierr=NF90_GET_VAR(ncid,varid,ref_field_soil_subslope)
+      if (ierr /= nf90_noerr) print*,"error get_var ",trim(varname)
+      ! rearrange field_3D
+      do i=1,nb_cells
+        field_soil_subslope(cell_index(i),:,:)=ref_field_soil_subslope(i,:,:)
+      enddo
+      ! write field_3D
+      ierr=NF90_PUT_VAR(ncid,varid,field_soil_subslope)
+      if (ierr /= nf90_noerr) print*,"error putvar ",trim(varname)
+    else
+      print *, "Nothing to do with ", trim(varname), " ndim=", ndim, " varname_dimids(:)=", varname_dimids(:)
+
     endif
   enddo
Index: /trunk/LMDZ.MARS/util/startarchive2icosa/run_icosa.def_no_start
===================================================================
--- /trunk/LMDZ.MARS/util/startarchive2icosa/run_icosa.def_no_start	(revision 2940)
+++ /trunk/LMDZ.MARS/util/startarchive2icosa/run_icosa.def_no_start	(revision 2941)
@@ -1,249 +1,106 @@
-#INCLUDEDEF=saturn_const.def
 
-##mpi_threading_mode=serialized
-#mpi_threading_mode=funneled
+#---------------- Mesh ----------------
 
-#halo_i=0
-#halo_j=1
-# ------------------------------- Mesh ---------------------------------
+# Number of subdivisions on a main triangle : integer (default=40)
+nbp = 60
 
-# Number of subdivision on a main triangle (nbp) : integer (default=40)
-#nbp=160
-nbp=20
+# Number of vertical layers : integer (default=19)
+llm = 54
 
-# Earth as reference ?
-# nbp                 20  40  80 160
-# T-edge length (km) 500 250 120  60
-
-## sub splitting of main rhombus : integer (default=1)
-#nsplit_i=1
-#nsplit_j=1
-#omp_level_size=1
-###########################################
-## There must be less MPIxOpenMP processes than the 10 x nsplit_i x nsplit_j tiles
-## typically for pure MPI runs, let nproc = 10 x nsplit_i x nsplit_j
-## it is better to have nbp/split >~ 10
-###########################################
-## 10 procs
-nsplit_i=1
-nsplit_j=2
-#### 50 noeuds de 24 processeurs = 1200 procs
-#nsplit_i=10
-#nsplit_j=12
-
-# Number of vertical layer (llm) : integer (default=19)
-#llm=64
-llm=73
-
-# disvert : vertical discretisation : string (default='std') : std, ncar, ncar30l
+# Vertical grid : [std|ncar|ncarl30] (default=std)
 #disvert=read_apbp
 disvert=plugin
 
-# optim_it : mesh optimisation : number of iteration : integer (default=0)
-#optim_it=1000
-optim_it=100
+# Mesh optimisation : number of iterations : integer (default=0)
+optim_it = 1000
 
-# ---------------------------------- Time---------------------------------
+# Sub splitting of main rhombus : integer (default=1)
+nsplit_i = 1
+nsplit_j = 1
 
-## scheme type : string : euler, leapfrog_matsuno, runge_kutta )
-# time_scheme = ARK2.3 (RK 2nd order at 3 levels) | leapfrog_matsuno | ...  
-time_scheme = ARK2.3
+#number of openmp task on vertical level
+omp_level_size=1
 
-## matsuno period : integer ( default=5) Only used for leapfrog_matsuno scheme
-matsuno_period = 10
+#---------------- Numerics ----------------
 
-# timestep : real (default=480s)
-# dt = 92.473958333334
-### attention 3 chiffres significatifs dans XIOS
-# number of dynamical steps per day (instead of dt)
-day_step=960
+# Advection called every itau_adv time steps : integer (default=2)
+itau_adv = 1
 
-# advection called every itau_adv time steps : integer (default 2)
-# standard : umax=100m/s vs c=340m/s (ratio 1:3)
-# in JW06 umax=35m/s vs c=340m/s (ratio 1:10)
-itau_adv=3
+# Time step in s : real (default=480)
+# dt = 720
+# Alternative to specifying "dt", specify number of steps per day : day_step
+day_step = 960
 
-# number of timestep (default 100) (ignored if run_length is set)
-#itaumax = 10
-
-# run length : real (default=dt*itaumax)
-
-####################################
-
-## 1 martian day
-#run_length = 88775
-#run_length = 887750
-
-## 1 martian year : 59212925s
-## first martian month (61sols):5415275s
-
-# number of days to run
-ndays=1
-
-####################################
-
-##activate IO (default = true)
-#enable_io = false
-
-## output with XIOS (only if compiled with XIOS): true/false (default true)
-#xios_output=false
-
-# output field period (valid XIOS or not) : integer (default none)
-# [should be equal to dt if XIOS dynamical outputs are wanted]
-# [because write_period sets synchronization frequency with XIOS]
-write_period = 92.473958333
+# Number of tracers : integer (default=1)
+nqtot = 11
 
 
-#itau_write_etat0=380520
+#---------------- Time and output ----------------
 
-# ---------------------------------- Misc --------------------------------
+# Time style : [none|dcmip] (default=dcmip)
+time_style = none
 
-# number of tracer (nqtot) : integer (default 1)
-nqtot=1
+# Run length in s : real (default=??)
+# run_length = 103680000
+run_length = 462.369791666
+# Alternative to specifying "run_length", specify number of days to run : ndays
+# ndays=1
 
-# pression value where output is interpolated : real (default=0, no output)
-###out_pression_level=85000
+# Interval in s between two outputs : integer (default=0)
+#write_period = 10800
+# output every dyn time step => dt = day_length/day_step ; 88775/960=92.4739583333
+write_period= 92.4739583333333
 
-# etat0 : initial state : string (default=jablonowsky06) : 
-# jablonowsky06, academic, ncar
+
+# Initial state : 
+#   [jablonowsky06|academic|dcmip[1-4]|heldsz|dcmip2_schaer_noshear] (default=jablonowsky06)
+etat0=isothermal
+etat0_isothermal_temp=200
+# pertub initial state by a factor of ...
+etat0_ps_white_noise=0.01
+etat0_theta_rhodz_white_noise=0.01
 
 #etat0=start_file
 #etat0_start_file_colocated=true
 
-## -- to cross the 2y limit
-#etat0_start_iteration=0
-#run_length=38052
-
-etat0=isothermal
-etat0_isothermal_temp=200
-
 # start file name (default is start.nc)
 # restart file name (default is restart.nc)
-#start_file_name=start_icosa
+start_file_name=start_icosa
 restart_file_name=restart_icosa
 
-#etat0_start_iteration_reset=true
-#etat0_start_iteration=0
+etat0_start_iteration_reset=true
+etat0_start_iteration=0
 
-##### for one-day run from a profile to create a start
-#etat0=temperature_profile
-#temperature_profile_file=temp_profile.txt
-#run_length=38052
+# Dissipation time for grad(div) : real (default=5000)
+tau_graddiv = 18000
 
-# ------------------------------ Dynamics --------------------------------
-
-# caldyn : computation type for gcm equation : string (default=gcm) : gcm, adv
-caldyn=gcm
-
-# caldyn_conserv : string (default=energy) : energy,enstrophy
-caldyn_conserv=energy
-
-# caldyn_exner : scheme for computing Exner function : string (default=direct) : direct,lmdz
-caldyn_exner=direct
-
-# caldyn_hydrostat : scheme for computing geopotential : string (default=direct) : direct,lmdz
-caldyn_hydrostat=direct
-
-# guided_type : string (default=none) : none, ncar
-guided_type=none
-
-#Sponge layer
-### iflag_sponge=0 for no sponge
-### iflag_sponge=1 for sponge over 4 topmost layers
-### iflag_sponge=2 for sponge from top to ~1% of top layer pressure
-### tau_sponge --> damping frequency at last layer
-### e-5 medium / e-4 strong yet reasonable / e-3 very strong
-### mode_sponge=1 for u,v --> 0
-### mode_sponge=2 for u,v --> zonal mean (NOT IMPLEMENTED)
-### mode_sponge=3 for u,v,h --> zonal mean (NOT IMPLEMENTED)
-#iflag_sponge = 1
-iflag_sponge = 1
-tau_sponge = 1.e-4
-#mode_sponge = 1
-
-
-# ---------------------------------- Dissipation ---------------------------------
-
-# dissipation time graddiv : real (default=5000)
-tau_graddiv = 2000
-
-# number of iteration for graddiv : integer (default=1)
+# Exponent of grad(div) disspation : integer (default=1)
 nitergdiv = 2
 
-# dissipation time nxgradrot (default=5000)
-tau_gradrot = 4000
+# Dissipation time for curl(curl) : real (default=5000)
+tau_gradrot = 18000
 
-# number of iteration for nxgradrot : integer (default=1)
-nitergrot=2
+# Exponent of curl(curl) disspation : integer (default=1)
+nitergrot = 2
 
-# dissipation time divgrad (theta) (default=5000)
-tau_divgrad= 4000
-# number of iteration for divgrad : integer (default=1)
-niterdivgrad=2
+# Dissipation time for div(grad) : real (default=5000)
+tau_divgrad = 18000
 
-# Vertical evolution of the dissipation coefficient
-# vert_prof_dissip_type=legacy
-vert_prof_dissip_type=plugin
+# Exponent of div(grad) disspation : integer (default=1)
+niterdivgrad = 2
 
-# vertical dissipation setup (none|altitude|pressure)
-vert_prof_dissip_setup=altitude
-dissip_fac_mid=3.
-dissip_fac_up=30.
-dissip_startalt=70.
-dissip_deltaz=30.
+#---------------- Planet ----------------
 
-#Vertical coefficient for dissipation: 1 is for Earth, 2 Mars, 3 Venus, default is basic scheme
-#vert_prof_dissip=2
-#fac_mid=3.
-#fac_up=30.
-#dissip_deltaz=30.
-#startalt=70.
-
-# Rayleigh friction : string (default=none) : none, dcmip2_schaer_noshear, dcmip2_schaer_shear
-rayleigh_friction_type=none
-#rayleigh_friction_type=giant_liu_schneider
-#rayleigh_limlat = 33.
-#rayleigh_friction_tau = 8640000.
+INCLUDEDEF=mars_const.def
 
 # -------------------------------- Physics -------------------------------------
 
-# (itau_physics=160)*(dt=118.9125) --> half a saturn day as physical timestep
-# ---- for some reason (day consistency, physical timestep must be less a day)
-# ---- change also in run.def
+# Physics package : [none|held_suarez|dcmip] (default=none)
+physics = phys_external
+
+# call physics every itau_physics (dynamical) time step
 itau_physics=5
+#itau_physics=10
 
-# kind of physics : string : none, dcmip (default=none)
-physics=phys_external
-
-## testcase physics for dcmip : INTEGER : 1, 2 (default=1)
-#dcmip_physics=1
-
-# -------------------- parameters for NCAR test cases ------------------------
-
-# NCAR advection test, initial tracer : string ( default='cos_bell')
-# const, slotted_cyl, cos_bell, dbl_cos_bell_q1, dbl_cos_bell_q2, complement, hadley
-ncar_adv_shape=cos_bell
-
-# NCAR advection test, wind field : string (default='deform') : solid, deform, hadley
-ncar_adv_wind=solid
-
-# ncar_T0 : reference temperature for NCAR test cases : real (default=300) 
-# also used by disvert if disvert=ncar
-ncar_T0=300
-
-# ncar_p0 : reference pressure for NCAR test cases : real (default=1e5) 
-# also used by disvert if disvert=ncar
-ncar_p0=1e5
-
-# ncar_disvert_c : exponent for B(eta) : integer (default=1)
-# used by disvert if disvert=ncar
-
-ncar_disvert_c=1
-
-# dcmip 4 testcase : integer (default=1) : 1, 2
-dcmip4_testcase=1
-#-----------------------------------------------------------------------
-
-
-check_conservation = detailed
-itau_check_conserv = 320
+# physics initial state (startfi.nc) if startphy_file=.true.
+startphy_file=.false.
Index: /trunk/LMDZ.MARS/util/startarchive2icosa/start_archive2icosa.f90
===================================================================
--- /trunk/LMDZ.MARS/util/startarchive2icosa/start_archive2icosa.f90	(revision 2940)
+++ /trunk/LMDZ.MARS/util/startarchive2icosa/start_archive2icosa.f90	(revision 2941)
@@ -23,11 +23,13 @@
   INTEGER :: src_nj, src_nj_glo, src_topo_nj, src_topo_nj_glo
   INTEGER :: src_nlev ! number of vertical layers
-  INTEGER :: src_nq=7 ! number of tracers
+  INTEGER :: src_nq=11 ! number of tracers
   INTEGER :: src_nt=1 ! number of time steps
   INTEGER :: src_nsoil=18 ! number of soil layers
+  INTEGER :: src_nslope=1 ! number of subslope
   DOUBLE PRECISION,ALLOCATABLE :: lev_values(:) ! vertical axis 
   DOUBLE PRECISION,ALLOCATABLE :: lev_p1_values(:) ! vertical axis 
   DOUBLE PRECISION,ALLOCATABLE :: nq_values(:) ! tracer # axis 
   DOUBLE PRECISION,ALLOCATABLE :: soil_layers_values(:) ! soil axis
+  DOUBLE PRECISION,ALLOCATABLE :: subslope_values(:) ! subslope axis
   DOUBLE PRECISION,ALLOCATABLE :: src_lon(:) ! mesh center coordinate
   DOUBLE PRECISION,ALLOCATABLE :: src_lat(:)
@@ -36,4 +38,5 @@
   DOUBLE PRECISION,ALLOCATABLE :: src_controle(:)
   DOUBLE PRECISION,ALLOCATABLE :: src_field_2D(:,:)
+  DOUBLE PRECISION,ALLOCATABLE :: src_field_2D_subslope(:,:,:)
   DOUBLE PRECISION,ALLOCATABLE :: src_pk(:,:)
   DOUBLE PRECISION,ALLOCATABLE :: src_field_3D(:,:,:)
@@ -44,4 +47,5 @@
   DOUBLE PRECISION,ALLOCATABLE :: src_topo(:,:)
   DOUBLE PRECISION,ALLOCATABLE :: src_field_3D_soil(:,:,:) ! 3D grid in soil, for tsoil et inertia
+  DOUBLE PRECISION,ALLOCATABLE :: src_field_3D_soil_subslope(:,:,:,:) ! 3D grid in soil, for tsoil et inertia
   DOUBLE PRECISION,ALLOCATABLE :: src_soil_layers(:) ! soil_depth
   DOUBLE PRECISION,ALLOCATABLE :: src_field_3D_p1(:,:,:) !q2 field
@@ -60,5 +64,5 @@
   INTEGER :: dst_nvertex
   INTEGER :: ncid
-  INTEGER :: dimids(4)
+  INTEGER :: dimids(5)
   INTEGER :: varid
   
@@ -140,5 +144,7 @@
   write(*,*) "rank=",rank,"dimids tsoil =",dimids
   ierr=NF90_INQUIRE_DIMENSION(ncid, dimids(3), len=src_nsoil)
+ ierr=NF90_INQUIRE_DIMENSION(ncid, dimids(4), len=src_nslope)
   write(*,*) "rank=",rank," src_nsoil=",src_nsoil ! number of vertical layers
+  write(*,*) "rank=",rank," src_nslope=",src_nslope ! number of subslope
 
 ! assume domain splitup with MPI only along latitudes
@@ -161,8 +167,10 @@
   ALLOCATE(src_lat(src_nj))
   ALLOCATE(src_field_2D(src_ni,src_nj))
+  ALLOCATE(src_field_2D_subslope(src_ni,src_nj,src_nslope))
   ALLOCATE(src_pk(src_ni,src_nj))
   ALLOCATE(src_field_3D(src_ni,src_nj,src_nlev))
   ALLOCATE(src_field_3D_p1(src_ni,src_nj,src_nlev+1))
   ALLOCATE(src_field_3D_soil(src_ni,src_nj,src_nsoil))
+  ALLOCATE(src_field_3D_soil_subslope(src_ni,src_nj,src_nsoil,src_nslope))
 !  ALLOCATE(src_field_soil_layers(src_nsoil))
   ALLOCATE(src_pressure(src_ni,src_nj,src_nlev+1))
@@ -283,4 +291,7 @@
   soil_layers_values=(/ (l,l=1,src_nsoil) /)
   CALL xios_set_axis_attr("soil_layers",n_glo=src_nsoil,value=soil_layers_values)
+  ALLOCATE(subslope_values(src_nslope))
+  subslope_values=(/ (l,l=1,src_nslope) /)
+  CALL xios_set_axis_attr("subslope",n_glo=src_nslope,value=subslope_values)
 
 ! Set domains
@@ -367,7 +378,7 @@
     
     ! surface temperature:
-    CALL xios_recv_field("src_tsurf",src_field_2D)
-    WRITE(*,*) rank,":src_tsurf(1:2,1:3)=",src_field_2D(1:2,1:3)
-    CALL xios_send_field("tsurf_clean",src_field_2D(1:src_ni-1,1:src_nj))
+    CALL xios_recv_field("src_tsurf",src_field_2D_subslope)
+    WRITE(*,*) rank,":src_tsurf(1:2,1:3,1)=",src_field_2D_subslope(1:2,1:3,1)
+    CALL xios_send_field("tsurf_clean",src_field_2D_subslope(1:src_ni-1,1:src_nj,:))
 
     ! co2 ice coverage:
@@ -377,7 +388,7 @@
 
     ! emissivity:
-    CALL xios_recv_field("src_emis",src_field_2D)
-    WRITE(*,*) rank,":src_emis(1:2,1:3)=",src_field_2D(1:2,1:3)
-    CALL xios_send_field("emis_clean",src_field_2D(1:src_ni-1,1:src_nj))
+    CALL xios_recv_field("src_emis",src_field_2D_subslope)
+    WRITE(*,*) rank,":src_emis(1:2,1:3,1)=",src_field_2D_subslope(1:2,1:3,1)
+    CALL xios_send_field("emis_clean",src_field_2D_subslope(1:src_ni-1,1:src_nj,:))
 
     ! q2 : q2surf for first layer of q2, the rest is q2atm
@@ -422,50 +433,74 @@
           CALL xios_send_field("co2_clean", &
                         src_field_3D(1:src_ni-1,1:src_nj,1:src_nlev))
-          CALL xios_recv_field("src_co2_surf",src_field_2D)
+          CALL xios_recv_field("src_co2_surf",src_field_2D_subslope)
           CALL xios_send_field("co2_surf_clean", &
-                        src_field_2D(1:src_ni-1,1:src_nj))
+                        src_field_2D_subslope(1:src_ni-1,1:src_nj,:))
        elseif (i==2) THEN 
           CALL xios_send_field("dust_number_clean", &
                         src_field_3D(1:src_ni-1,1:src_nj,1:src_nlev))
-          CALL xios_recv_field("src_dust_number_surf",src_field_2D)
+          CALL xios_recv_field("src_dust_number_surf",src_field_2D_subslope)
           CALL xios_send_field("dust_number_surf_clean", &
-                        src_field_2D(1:src_ni-1,1:src_nj))
+                        src_field_2D_subslope(1:src_ni-1,1:src_nj,:))
        elseif (i==3) THEN 
           CALL xios_send_field("dust_mass_clean", &
                         src_field_3D(1:src_ni-1,1:src_nj,1:src_nlev))
-          CALL xios_recv_field("src_dust_mass_surf",src_field_2D)
+          CALL xios_recv_field("src_dust_mass_surf",src_field_2D_subslope)
           CALL xios_send_field("dust_mass_surf_clean", &
-                        src_field_2D(1:src_ni-1,1:src_nj))
+                        src_field_2D_subslope(1:src_ni-1,1:src_nj,:))
        elseif (i==4) THEN 
           CALL xios_send_field("ccn_number_clean", &
                         src_field_3D(1:src_ni-1,1:src_nj,1:src_nlev))
-          CALL xios_recv_field("src_ccn_number_surf",src_field_2D)
+          CALL xios_recv_field("src_ccn_number_surf",src_field_2D_subslope)
           CALL xios_send_field("ccn_number_surf_clean", &
-                        src_field_2D(1:src_ni-1,1:src_nj))
+                        src_field_2D_subslope(1:src_ni-1,1:src_nj,:))
        elseif (i==5) THEN 
           CALL xios_send_field("ccn_mass_clean", &
                         src_field_3D(1:src_ni-1,1:src_nj,1:src_nlev))
-          CALL xios_recv_field("src_ccn_mass_surf",src_field_2D)
+          CALL xios_recv_field("src_ccn_mass_surf",src_field_2D_subslope)
           CALL xios_send_field("ccn_mass_surf_clean", &
-                        src_field_2D(1:src_ni-1,1:src_nj))
+                        src_field_2D_subslope(1:src_ni-1,1:src_nj,:))
        elseif (i==6) THEN 
           CALL xios_send_field("h2o_ice_clean", &
                         src_field_3D(1:src_ni-1,1:src_nj,1:src_nlev))
-          CALL xios_recv_field("src_h2o_ice_surf",src_field_2D)
+          CALL xios_recv_field("src_h2o_ice_surf",src_field_2D_subslope)
           CALL xios_send_field("h2o_ice_surf_clean", &
-                        src_field_2D(1:src_ni-1,1:src_nj))
+                        src_field_2D_subslope(1:src_ni-1,1:src_nj,:))
        elseif (i==7) THEN 
           CALL xios_send_field("h2o_vap_clean", &
                         src_field_3D(1:src_ni-1,1:src_nj,1:src_nlev))
-          CALL xios_recv_field("src_h2o_vap_surf",src_field_2D)
+          CALL xios_recv_field("src_h2o_vap_surf",src_field_2D_subslope)
           CALL xios_send_field("h2o_vap_surf_clean", &
-                        src_field_2D(1:src_ni-1,1:src_nj))
+                        src_field_2D_subslope(1:src_ni-1,1:src_nj,:))
+	elseif (i==8) THEN 
+          CALL xios_send_field("stormdust_number_clean", &
+                        src_field_3D(1:src_ni-1,1:src_nj,1:src_nlev))
+          CALL xios_recv_field("src_stormdust_number_surf",src_field_2D_subslope)
+          CALL xios_send_field("stormdust_number_surf_clean", &
+                        src_field_2D_subslope(1:src_ni-1,1:src_nj,:))
+	elseif (i==9) THEN 
+          CALL xios_send_field("stormdust_mass_clean", &
+                        src_field_3D(1:src_ni-1,1:src_nj,1:src_nlev))
+          CALL xios_recv_field("src_stormdust_mass_surf",src_field_2D_subslope)
+          CALL xios_send_field("stormdust_mass_surf_clean", &
+                        src_field_2D_subslope(1:src_ni-1,1:src_nj,:))
+	elseif (i==10) THEN 
+          CALL xios_send_field("topdust_number_clean", &
+                        src_field_3D(1:src_ni-1,1:src_nj,1:src_nlev))
+          CALL xios_recv_field("src_topdust_number_surf",src_field_2D_subslope)
+          CALL xios_send_field("topdust_number_surf_clean", &
+                        src_field_2D_subslope(1:src_ni-1,1:src_nj,:))
+	elseif (i==11) THEN 
+          CALL xios_send_field("topdust_mass_clean", &
+                        src_field_3D(1:src_ni-1,1:src_nj,1:src_nlev))
+          CALL xios_recv_field("src_topdust_mass_surf",src_field_2D_subslope)
+          CALL xios_send_field("topdust_mass_surf_clean", &
+                        src_field_2D_subslope(1:src_ni-1,1:src_nj,:))
        ENDIF
     ENDDO
 
     ! soil temperature
-    CALL xios_recv_field("src_tsoil",src_field_3D_soil)
+    CALL xios_recv_field("src_tsoil",src_field_3D_soil_subslope)
     CALL xios_send_field("tsoil_clean", &
-                          src_field_3D_soil(1:src_ni-1,1:src_nj,1:src_nsoil))
+                          src_field_3D_soil_subslope(1:src_ni-1,1:src_nj,1:src_nsoil,:))
     ! soil thermal intertia
     CALL xios_recv_field("src_inertiedat",src_field_3D_soil)
Index: /trunk/LMDZ.MARS/util/startarchive2icosa/tracer.def_no_start
===================================================================
--- /trunk/LMDZ.MARS/util/startarchive2icosa/tracer.def_no_start	(revision 2941)
+++ /trunk/LMDZ.MARS/util/startarchive2icosa/tracer.def_no_start	(revision 2941)
@@ -0,0 +1,14 @@
+&version=1.0
+&dynamico
+default parent=air phases=g scheme=vanleer default_init_value=0.00
+co2 default_init_value=0.95
+dust_number default_init_value=1.e7
+dust_mass default_init_value=1.e-6
+stormdust_number default_init_value=1.e4
+stormdust_mass default_init_value=1.e-9
+topdust_number default_init_value=1.e4
+topdust_mass default_init_value=1.e-9
+h2o_vap default_init_value=1.e-5
+h2o_ice default_init_value=1.e-6
+ccn_number default_init_value=1.e6
+ccn_mass default_init_value=1.e-6
Index: unk/LMDZ.MARS/util/startarchive2icosa/traceur.def_no_start
===================================================================
--- /trunk/LMDZ.MARS/util/startarchive2icosa/traceur.def_no_start	(revision 2940)
+++ 	(revision )
@@ -1,2 +1,0 @@
-1
-co2
