Index: /issm/trunk/src/m/classes/model.m
===================================================================
--- /issm/trunk/src/m/classes/model.m	(revision 8986)
+++ /issm/trunk/src/m/classes/model.m	(revision 8987)
@@ -7,399 +7,340 @@
     properties (SetAccess=public) %Model fields
 		 % {{{1
-		 %Careful here: no other class should be used as default value
-		 %this is a bug of matlab
-
+		 %Careful here: no other class should be used as default value this is a bug of matlab
 		 %in what follows, any field is defined according to the following convention: 
 		 %field={defaultvalue,marshall?,data type,matrix type}
 
 		 %Model general information
-		 notes={'',false};
-		 name={'',true,'String'}; 
-		 runtimename={'',false}; %name used when running a parallel job
-		 counter={0,false}; %1 mesh, 2 geography, 3 parameterize
-		 domainoutline={NaN,false};
-		 riftoutline={NaN,false};
-		 iceshelfoutline={NaN,false};
-		 icesheetoutline={NaN,false};
-		 wateroutline={NaN,false};
-		 parameterfile={NaN,false};
-		 runmefile={NaN,false};
+		 notes           = {'',false};
+		 name            = {'',true,'String'};
+		 runtimename     = {'',false}; %name used when running a parallel job
+		 counter         = {0,false}; %1 mesh, 2 geography, 3 parameterize
+		 domainoutline   = {NaN,false};
+		 riftoutline     = {NaN,false};
+		 iceshelfoutline = {NaN,false};
+		 icesheetoutline = {NaN,false};
+		 wateroutline    = {NaN,false};
+		 parameterfile   = {NaN,false};
+		 runmefile       = {NaN,false};
 
 		 %Mesh
-		 bamg={struct(),false};
-		 dim={0,true,'Integer'};
-		 numberofelements={0,true,'Integer'};
-		 numberofnodes={0,true,'Integer'};
-		 elements={NaN,true,'DoubleMat',2};
-		 elements_type={NaN,true,'DoubleMat',2};
-		 vertices_type={NaN,true,'DoubleMat',1};
-		 x={NaN,true,'DoubleMat',1};
-		 y={NaN,true,'DoubleMat',1};
-		 z={NaN,true,'DoubleMat',1};
-		 bed_slopex={NaN,false};
-		 bed_slopey={NaN,false};
-		 surface_slopex={NaN,false};
-		 surface_slopey={NaN,false};
-		 nodeconnectivity={NaN,false};
-		 elementconnectivity={NaN,true,'DoubleMat',3};
-		 edges={NaN,true,'DoubleMat',3};
+		 bamg                = {struct(),false};
+		 dim                 = {0,true,'Integer'};
+		 numberofelements    = {0,true,'Integer'};
+		 numberofnodes       = {0,true,'Integer'};
+		 elements            = {NaN,true,'DoubleMat',2};
+		 elements_type       = {NaN,true,'DoubleMat',2};
+		 vertices_type       = {NaN,true,'DoubleMat',1};
+		 x                   = {NaN,true,'DoubleMat',1};
+		 y                   = {NaN,true,'DoubleMat',1};
+		 z                   = {NaN,true,'DoubleMat',1};
+		 bed_slopex          = {NaN,false};
+		 bed_slopey          = {NaN,false};
+		 surface_slopex      = {NaN,false};
+		 surface_slopey      = {NaN,false};
+		 nodeconnectivity    = {NaN,false};
+		 elementconnectivity = {NaN,true,'DoubleMat',3};
+		 edges               = {NaN,true,'DoubleMat',3};
 
 		 %I/O
-		 io_gather={NaN,true,'Integer'};
+		 io_gather           = {NaN,true,'Integer'};
 
 		 %Initial 2d mesh 
-		 numberofelements2d={0,true,'Integer'};
-		 numberofnodes2d={0,true,'Integer'};
-		 elements2d={NaN,true,'DoubleMat',3};
-		 elements_type2d={NaN,false};
-		 vertices_type2d={NaN,false};
-		 x2d={NaN,false};
-		 y2d={NaN,false};
-		 z2d={NaN,false};
+		 numberofelements2d = {0,true,'Integer'};
+		 numberofnodes2d    = {0,true,'Integer'};
+		 elements2d         = {NaN,true,'DoubleMat',3};
+		 elements_type2d    = {NaN,false};
+		 vertices_type2d    = {NaN,false};
+		 x2d                = {NaN,false};
+		 y2d                = {NaN,false};
+		 z2d                = {NaN,false};
 
 		 %latlon of the coorinates
-		 lat={NaN,false};
-		 long={NaN,false};
-		 hemisphere={NaN,false};
+		 lat        = {NaN,false};
+		 long       = {NaN,false};
+		 hemisphere = {NaN,false};
 
 		 %Elements type
-		 ishutter={0,true,'Integer'};
-		 ismacayealpattyn={0,true,'Integer'};
-		 isstokes={0,true,'Integer'};
+		 ishutter             = {0,true,'Integer'};
+		 ismacayealpattyn     = {0,true,'Integer'};
+		 isstokes             = {0,true,'Integer'};
 
 		 %Elements
-		 elementonhutter={NaN,false};
-		 elementonmacayeal={NaN,false};
-		 elementonpattyn={NaN,false};
-		 elementonstokes={NaN,false};
+		 elementonhutter      = {NaN,false};
+		 elementonmacayeal    = {NaN,false};
+		 elementonpattyn      = {NaN,false};
+		 elementonstokes      = {NaN,false};
 
 		 %Nodes
-		 nodeonhutter={NaN,true,'DoubleMat',1};
-		 nodeonmacayeal={NaN,true,'DoubleMat',1};
-		 nodeonpattyn={NaN,true,'DoubleMat',1};
-		 nodeonstokes={NaN,true,'DoubleMat',1};
-		 borderstokes={NaN,true,'DoubleMat',3};
+		 nodeonhutter         = {NaN,true,'DoubleMat',1};
+		 nodeonmacayeal       = {NaN,true,'DoubleMat',1};
+		 nodeonpattyn         = {NaN,true,'DoubleMat',1};
+		 nodeonstokes         = {NaN,true,'DoubleMat',1};
+		 borderstokes         = {NaN,true,'DoubleMat',3};
 
 		 %Stokes
-		 stokesreconditioning={0,true,'Double'};
-		 shelf_dampening={0,true,'Integer'};
+		 stokesreconditioning = {0,true,'Double'};
+		 shelf_dampening      = {0,true,'Integer'};
 
 		 %Penalties
-		 penalties={NaN,true,'DoubleMat',3};
-		 penalty_offset={0,true,'Double'};
-		 penalty_melting={0,true,'Double'};
-		 penalty_lock={0,true,'Integer'};
-		 segments={NaN,false};
-		 segmentmarkers={NaN,false};
-		 rifts={NaN,false};
-		 riftinfo={NaN,true,'DoubleMat',3};
-		 riftproperties={NaN,false};
-		 numrifts={0,false};
+		 penalties            = {NaN,true,'DoubleMat',3};
+		 penalty_offset       = {0,true,'Double'};
+		 penalty_melting      = {0,true,'Double'};
+		 penalty_lock         = {0,true,'Integer'};
+		 segments             = {NaN,false};
+		 segmentmarkers       = {NaN,false};
+		 rifts                = {NaN,false};
+		 riftinfo             = {NaN,true,'DoubleMat',3};
+		 riftproperties       = {NaN,false};
+		 numrifts             = {0,false};
 
 		 %Projections
-		 uppernodes={NaN,false};
-		 upperelements={NaN,true,'DoubleMat',2};
-		 lowerelements={NaN,true,'DoubleMat',2};
-		 lowernodes={NaN,false};
+		 uppernodes           = {NaN,false};
+		 upperelements        = {NaN,true,'DoubleMat',2};
+		 lowerelements        = {NaN,true,'DoubleMat',2};
+		 lowernodes           = {NaN,false};
 
 		 %Extrusion
-		 numlayers={0,true,'Integer'};
-		 extrusionexponent={0,false};
-		 elementonbed={NaN,true,'BooleanMat',2};
-		 elementonsurface={NaN,true,'BooleanMat',2};
-		 nodeonbed={NaN,true,'BooleanMat',1};
-		 nodeonsurface={NaN,true,'BooleanMat',1};
-		 minh={0,false};
-		 firn_layer={NaN,false};
+		 numlayers         = {0,true,'Integer'};
+		 extrusionexponent = {0,false};
+		 elementonbed      = {NaN,true,'BooleanMat',2};
+		 elementonsurface  = {NaN,true,'BooleanMat',2};
+		 nodeonbed         = {NaN,true,'BooleanMat',1};
+		 nodeonsurface     = {NaN,true,'BooleanMat',1};
+		 minh              = {0,false};
+		 firn_layer        = {NaN,false};
 
 		 %Extraction
-		 extractednodes={NaN,false};
-		 extractedelements={NaN,false};
+		 extractednodes    = {NaN,false};
+		 extractedelements = {NaN,false};
 
 		 %Materials parameters
-		 rho_ice={0,true,'Double'};
-		 rho_water={0,true,'Double'};
-		 rho_firn={0,false};
-		 heatcapacity={0,true,'Double'};
-		 latentheat={0,true,'Double'};
-		 thermalconductivity={0,true,'Double'};
-		 meltingpoint={0,true,'Double'};
-		 referencetemperature={0,true,'Double'}; %for enthalpy
-		 beta={0,true,'Double'};
+		 rho_ice                    = {0,true,'Double'};
+		 rho_water                  = {0,true,'Double'};
+		 rho_firn                   = {0,false};
+		 heatcapacity               = {0,true,'Double'};
+		 latentheat                 = {0,true,'Double'};
+		 thermalconductivity        = {0,true,'Double'};
+		 meltingpoint               = {0,true,'Double'};
+		 referencetemperature       = {0,true,'Double'}; %for enthalpy
+		 beta                       = {0,true,'Double'};
+		 mixed_layer_capacity       = {0,true,'Double'};
+		 thermal_exchange_velocity  = {0,true,'Double'};
+		 min_thermal_constraints    = {0,true,'Integer'};
+		 min_mechanical_constraints = {0,true,'Integer'};
+		 stabilize_constraints      = {0,true,'Integer'};
+
+		 %Physical parameters
+		 g                = {0,true,'Double'};
+		 yts              = {0,true,'Double'};
+		 drag_type        = {0,true,'Integer'};
+		 drag_coefficient = {NaN,true,'DoubleMat',1};
+		 drag_p           = {NaN,true,'DoubleMat',2};
+		 drag_q           = {NaN,true,'DoubleMat',2};
+		 rheology_B       = {NaN,true,'DoubleMat',1};
+		 rheology_n       = {NaN,true,'DoubleMat',2};
+		 rheology_law     = {0,true,'Integer'};
+
+		 %Geometrical parameters
+		 elementoniceshelf = {NaN,true,'BooleanMat',2};
+		 elementonicesheet = {NaN,true,'BooleanMat',2};
+		 elementonwater    = {NaN,true,'BooleanMat',2};
+		 nodeoniceshelf    = {NaN,true,'DoubleMat',1};
+		 nodeonicesheet    = {NaN,true,'DoubleMat',1};
+		 nodeonwater       = {NaN,true,'DoubleMat',1};
+		 surface           = {NaN,true,'DoubleMat',1};
+		 thickness         = {NaN,true,'DoubleMat',1};
+		 thickness_coeff   = {NaN,true,'DoubleMat',1};
+		 bed               = {NaN,true,'DoubleMat',1};
+		 bathymetry        = {NaN,true,'DoubleMat',1};
+		 mask              = {NaN,false};
+
+		 %Boundary conditions
+		 nodeonboundary = {NaN,false};
+		 pressureload   = {NaN,true,'DoubleMat',3};
+		 spcvx          = {NaN,true,'DoubleMat',1};
+		 spcvy          = {NaN,true,'DoubleMat',1};
+		 spcvz          = {NaN,true,'DoubleMat',1};
+		 spctemperature = {NaN,true,'DoubleMat',1};
+		 spcthickness   = {NaN,true,'DoubleMat',1};
+		 spcwatercolumn = {NaN,true,'DoubleMat',1};
+		 diagnostic_ref = {NaN,true,'DoubleMat',1};
+
+		 %Observations 
+		 vx_obs                    = {NaN,true,'DoubleMat',1};
+		 vy_obs                    = {NaN,true,'DoubleMat',1};
+		 vel_obs                   = {NaN,false};
+		 vx_obs_raw                = {NaN,false};
+		 vy_obs_raw                = {NaN,false};
+		 vx_bal                    = {NaN,false};
+		 vy_bal                    = {NaN,false};
+		 vel_bal                   = {NaN,false};
+		 vel_obs_raw               = {NaN,false};
+		 surface_accumulation_rate = {NaN,true,'DoubleMat',1};
+		 surface_ablation_rate     = {NaN,true,'DoubleMat',1};
+		 surface_mass_balance      = {NaN,true,'DoubleMat',1};
+		 dhdt                      = {NaN,true,'DoubleMat',1};
+		 geothermalflux            = {NaN,true,'DoubleMat',1};
+		 observed_temperature      = {NaN,false};
+		 thickness_obs             = {NaN,true,'DoubleMat',1};
+
+		 %Forcings
+		 forcings = {struct(),false};
+
+		 %Statics parameters
+		 eps_res                  = {0,true,'Double'};
+		 eps_rel                  = {0,true,'Double'};
+		 eps_abs                  = {0,true,'Double'};
+		 max_nonlinear_iterations = {0,true,'Double'};
+		 sparsity                 = {0,true,'Double'};
+		 connectivity             = {0,true,'Integer'};
+		 lowmem                   = {0,true,'Integer'};
+		 viscosity_overshoot      = {0,true,'Double'};
+
+		 %Transient 
+		 dt                     = {0,true,'Double'};
+		 ndt                    = {0,true,'Double'};
+		 time_adapt             = {0,true,'Integer'};
+		 cfl_coefficient        = {0,true,'Double'};
+		 adaptative_cfl         = {0,false};
+		 artificial_diffusivity = {0,true,'Integer'};
+		 prognostic_DG          = {0,true,'Integer'};
+		 deltaH                 = {0,false};
+		 DeltaH                 = {0,false};
+		 deltaT                 = {0,false};
+		 DeltaT                 = {0,false};
+		 timeacc                = {0,false};
+		 timedec                = {0,false};
+		 hydrostatic_adjustment = {0,true,'Integer'};
+		 isprognostic = {0,true,'Integer'};
+		 isdiagnostic = {0,true,'Integer'};
+		 isthermal    = {0,true,'Integer'};
+		 %Control
+		 control_analysis = {0,true,'Integer'};
+		 control_type     = {0,true,'DoubleMat',3};
+		 weights          = {[],true,'DoubleMat',1};
+		 nsteps           = {0,true,'Integer'};
+		 maxiter          = {[],true,'DoubleMat',3};
+		 cm_responses     = {[],true,'DoubleMat',3};
+		 tolx             = {0,true,'Double'};
+		 optscal          = {[],true,'DoubleMat',3};
+		 eps_cm           = {0,true,'Double'};
+		 cm_min           = {NaN,true,'DoubleMat',3};
+		 cm_max           = {NaN,true,'DoubleMat',3};
+		 cm_jump          = {[],true,'DoubleMat',3};
+		 cm_gradient      = {0,true,'Integer'};
+		 epsvel                              = {0,true,'Double'};
+		 meanvel                             = {0,true,'Double'};
+		 num_control_type                    = {0,true,'Integer'};
+		 num_cm_responses                    = {0,true,'Integer'};
+		 %Output
+		 parameteroutput                     = {{},true,'StringArray'};
+		 viscousheating                      = {NaN,false};
+		 pressure_elem                       = {NaN,false};
+		 stress                              = {NaN,false};
+		 stress_surface                      = {NaN,false};
+		 stress_bed                          = {NaN,false};
+		 deviatoricstress                    = {NaN,false};
+		 strainrate                          = {NaN,false};
+		 %Debugging
+		 verbose                             = {0,false};
+		 verbose_binary                      = {0,true,'Integer'};
+		 element_debug                       = {0,false};
+		 element_debugid                     = {NaN,false};
+		 mem_debug                           = {0,false};
+		 gprof                               = {0,false};
+		 memoryleaks                         = {NaN,false};
+		 %Results fields
+		 output_frequency                    = {0,true,'Integer'};
+		 inputfilename                       = {'',true,'String'};
+		 outputfilename                      = {'',true,'String'};
+		 results                             = {struct(),false};
+		 vx                                  = {NaN,true,'DoubleMat',1};
+		 vy                                  = {NaN,true,'DoubleMat',1};
+		 vz                                  = {NaN,true,'DoubleMat',1};
+		 vel                                 = {NaN,false};
+		 temperature                         = {NaN,true,'DoubleMat',1}; %temperature solution vector
+		 waterfraction                       = {NaN,true,'DoubleMat',1};
+		 gl_melting_rate                     = {NaN,true,'Double'};
+		 basal_melting_rate                  = {NaN,true,'DoubleMat',1};
+		 basal_melting_rate_correction       = {NaN,true,'DoubleMat',1};
+		 basal_melting_rate_correction_apply = {0,true,'Integer'};
+		 pressure                            = {NaN,true,'DoubleMat',1};
+		 %Hydrology
+		 watercolumn                         = {NaN,true,'Double'};
+		 hydro_n                             = {0,true,'Double'};
+		 hydro_CR                            = {0,true,'Double'};
+		 hydro_p                             = {0,true,'Double'};
+		 hydro_q                             = {0,true,'Double'};
+		 hydro_kn                            = {0,true,'Double'};
 		 
-		 mixed_layer_capacity={0,true,'Double'};
-		 thermal_exchange_velocity={0,true,'Double'};
-		 min_thermal_constraints={0,true,'Integer'};
-		 min_mechanical_constraints={0,true,'Integer'};
-		 stabilize_constraints={0,true,'Integer'};
-
-		 %Physical parameters
-		 g={0,true,'Double'};
-		 yts={0,true,'Double'};
-		 drag_type={0,true,'Integer'};
-		 drag_coefficient={NaN,true,'DoubleMat',1};
-		 drag_p={NaN,true,'DoubleMat',2};
-		 drag_q={NaN,true,'DoubleMat',2};
-		 rheology_B={NaN,true,'DoubleMat',1};
-		 rheology_n={NaN,true,'DoubleMat',2};
-		 rheology_law={0,true,'Integer'};
-
-		 %Geometrical parameters
-		 elementoniceshelf={NaN,true,'BooleanMat',2};
-		 elementonicesheet={NaN,true,'BooleanMat',2};
-		 elementonwater={NaN,true,'BooleanMat',2};
-		 elementonnuna={NaN,false,'BooleanMat',2};
-		 nodeoniceshelf={NaN,true,'DoubleMat',1};
-		 nodeonicesheet={NaN,true,'DoubleMat',1};
-		 nodeonwater={NaN,true,'DoubleMat',1};
-		 nodeonnuna={NaN,false};
-		 surface={NaN,true,'DoubleMat',1};
-		 thickness={NaN,true,'DoubleMat',1};
-		 thickness_coeff={NaN,true,'DoubleMat',1};
-		 bed={NaN,true,'DoubleMat',1};
-		 bathymetry={NaN,true,'DoubleMat',1};
-		 mask={NaN,false};
-
-		 %Boundary conditions
-		 nodeonboundary={NaN,false};
-		 pressureload={NaN,true,'DoubleMat',3};
-		 spcvx={NaN,true,'DoubleMat',1};
-		 spcvy={NaN,true,'DoubleMat',1};
-		 spcvz={NaN,true,'DoubleMat',1};
-		 spctemperature={NaN,true,'DoubleMat',1};
-		 spcthickness={NaN,true,'DoubleMat',1};
-		 spcwatercolumn={NaN,true,'DoubleMat',1};
-		 diagnostic_ref={NaN,true,'DoubleMat',1};
-
-		 %Observations 
-		 vx_obs={NaN,true,'DoubleMat',1};
-		 vy_obs={NaN,true,'DoubleMat',1};
-		 vel_obs={NaN,false};
-		 vx_obs_raw={NaN,false};
-		 vy_obs_raw={NaN,false};
-		 vx_bal={NaN,false};
-		 vy_bal={NaN,false};
-		 vel_bal={NaN,false};
-		 vel_obs_raw={NaN,false};
-		 surface_accumulation_rate={NaN,true,'DoubleMat',1};
-		 surface_ablation_rate={NaN,true,'DoubleMat',1};
-		 surface_mass_balance={NaN,true,'DoubleMat',1};
-		 dhdt={NaN,true,'DoubleMat',1};
-		 geothermalflux={NaN,true,'DoubleMat',1};
-		 observed_temperature={NaN,false};
-		 thickness_obs={NaN,true,'DoubleMat',1};
-
-		 %Forcings
-		 forcings={struct(),false};
-
-		 %Statics parameters
-		 eps_res={0,true,'Double'};
-		 eps_rel={0,true,'Double'};
-		 eps_abs={0,true,'Double'};
-		 max_nonlinear_iterations={0,true,'Double'};
-		 sparsity={0,true,'Double'};
-		 connectivity={0,true,'Integer'};
-		 lowmem={0,true,'Integer'};
-		 viscosity_overshoot={0,true,'Double'};
-
-		 %Transient parameters
-		 dt={0,true,'Double'};
-		 ndt={0,true,'Double'};
-		 time_adapt={0,true,'Integer'};
-		 cfl_coefficient={1/2,true,'Double'};
-		 adaptative_cfl={0,false};
-		 artificial_diffusivity={0,true,'Integer'};
-		 prognostic_DG={0,true,'Integer'};
-		 deltaH={0,false};
-		 DeltaH={0,false};
-		 deltaT={0,false};
-		 DeltaT={0,false};
-		 timeacc={0,false};
-		 timedec={0,false};
-		 hydrostatic_adjustment={0,true,'Integer'};
-
-		 %Transient flags
-		 isprognostic={0,true,'Integer'};
-		 isdiagnostic={0,true,'Integer'};
-		 isthermal={0,true,'Integer'};
-
-		 %Control
-		 control_analysis={0,true,'Integer'};
-		 control_type={0,true,'DoubleMat',3};
-		 weights={[],true,'DoubleMat',1};
-		 nsteps={0,true,'Integer'};
-		 maxiter={[],true,'DoubleMat',3};
-		 cm_responses={[],true,'DoubleMat',3};
-		 tolx={0,true,'Double'};
-		 optscal={[],true,'DoubleMat',3};
-		 eps_cm={0,true,'Double'};
-		 cm_min={NaN,true,'DoubleMat',3};
-		 cm_max={NaN,true,'DoubleMat',3};
-		 cm_jump={[],true,'DoubleMat',3};
-		 cm_gradient={0,true,'Integer'};
-		 epsvel={0,true,'Double'};
-		 meanvel={0,true,'Double'};
-		 num_control_type={0,true,'Integer'};
-		 num_cm_responses={0,true,'Integer'};
-
-		 %Output parameters
-		 parameteroutput={{},true,'StringArray'};
-		 viscousheating={NaN,false};
-		 pressure_elem={NaN,false};
-		 stress={NaN,false};
-		 stress_surface={NaN,false};
-		 stress_bed={NaN,false};
-		 deviatoricstress={NaN,false};
-		 strainrate={NaN,false};
-
-		 %debugging
-		 verbose={0,false};
-		 verbose_binary={0,true,'Integer'};
-		 element_debug={0,false};
-		 element_debugid={NaN,false};
-		 mem_debug={0,false};
-		 gprof={0,false};
-		 memoryleaks={NaN,false};
-
-		 %Results fields
-		 output_frequency={0,true,'Integer'};
-		 inputfilename={'',true,'String'};
-		 outputfilename={'',true,'String'};
-		 results={struct(),false};
-		 vx={NaN,true,'DoubleMat',1};
-		 vy={NaN,true,'DoubleMat',1};
-		 vz={NaN,true,'DoubleMat',1};
-		 vel={NaN,false};
-		 temperature={NaN,true,'DoubleMat',1}; %temperature solution vector
-		 waterfraction={NaN,true,'DoubleMat',1};
-		 gl_melting_rate={NaN,true,'Double'};
-		 basal_melting_rate={NaN,true,'DoubleMat',1};
-		 basal_melting_rate_correction={NaN,true,'DoubleMat',1};
-		 basal_melting_rate_correction_apply={0,true,'Integer'};
-		 pressure={NaN,true,'DoubleMat',1};
-		 
-		 %hydrology
-		 watercolumn={NaN,true,'Double'};
-		 hydro_n={0,true,'Double'};
-		 hydro_CR={0,true,'Double'};
-		 hydro_p={0,true,'Double'};
-		 hydro_q={0,true,'Double'};
-		 hydro_kn={0,true,'Double'};
-		 
-		 %Parallelisation parameters
-		 cluster={NaN,false};
-		 outlog={'',false};
-		 errlog={'',false};
-		 alloc_cleanup={1,false};
-		 waitonlock={0,true,'Double'};
-
-		 %mesh2grid
-		 mesh2grid_parameters={{},false};
-		 mesh2grid_data={NaN,false};
-		 mesh2grid_xm={NaN,false};
-		 mesh2grid_ym={NaN,false};
+		 %Parallelisation
+		 cluster       = {NaN,false};
+		 outlog        = {'',false};
+		 errlog        = {'',false};
+		 alloc_cleanup = {1,false};
+		 waitonlock    = {0,true,'Double'};
 
 		 %dummy
-		 dummy={NaN,false};
+		 dummy = {NaN,false};
 
 		 %mesh 
-		 mesh_domainoutline={'',false};
-		 mesh_riftoutline={'',false};
-		 mesh_resolution={NaN,false};
+		 mesh_domainoutline = {'',false};
+		 mesh_riftoutline   = {'',false};
+		 mesh_resolution    = {NaN,false};
 
 		 %PETSc and MATLAB solver string
-		 petscoptions={NaN,false};
+		 petscoptions  = {NaN,false};
 
 		 %Analysis
-		 solution_type={'',false};
+		 solution_type = {'',false};
 
 		 %management of large models
-		 repository={'',false};
+		 repository    = {'',false};
 
 		 %radar power images
-		 sarpwr={NaN,false};
-		 sarxm={NaN,false};
-		 sarym={NaN,false};
+		 sarpwr = {NaN,false};
+		 sarxm  = {NaN,false};
+		 sarym  = {NaN,false};
 
 		 %qmu
-		 variables={struct(),false};
-		 responses={struct(),false};
-		 qmu_method={struct(),false};
-		 qmu_params={struct(),false};
-		 dakotaresults={struct(),false};
-		 dakotain={'',false};
-		 dakotaout={'',false};
-		 dakotadat={'',false};
-		 qmu_analysis={0,true,'Integer'};
-		 part={[],true,'DoubleMat',2};
-		 npart={0,true,'Integer'};
-		 numberofvariables={0,true,'Integer'};
-		 numberofresponses={0,true,'Integer'};
-		 variabledescriptors={{},true,'StringArray'};
-		 responsedescriptors={{},true,'StringArray'};
-		 qmu_mass_flux_profile_directory={NaN,false};
-		 qmu_mass_flux_profiles={NaN,false};
-		 qmu_mass_flux_segments={{},true,'MatArray'};
-		 qmu_relax={0,false};
-		 qmu_save_femmodel={0,true,'Integer'};
+		 variables                       = {struct(),false};
+		 responses                       = {struct(),false};
+		 qmu_method                      = {struct(),false};
+		 qmu_params                      = {struct(),false};
+		 dakotaresults                   = {struct(),false};
+		 dakotain                        = {'',false};
+		 dakotaout                       = {'',false};
+		 dakotadat                       = {'',false};
+		 qmu_analysis                    = {0,true,'Integer'};
+		 part                            = {[],true,'DoubleMat',2};
+		 npart                           = {0,true,'Integer'};
+		 numberofvariables               = {0,true,'Integer'};
+		 numberofresponses               = {0,true,'Integer'};
+		 variabledescriptors             = {{},true,'StringArray'};
+		 responsedescriptors             = {{},true,'StringArray'};
+		 qmu_mass_flux_profile_directory = {NaN,false};
+		 qmu_mass_flux_profiles          = {NaN,false};
+		 qmu_mass_flux_segments          = {{},true,'MatArray'};
+		 qmu_relax                       = {0,false};
+		 qmu_save_femmodel               = {0,true,'Integer'};
 
 		 %flaim
-		 fm_tracks={'',false};
-		 fm_flightreqs={struct(),false};
-		 fm_criterion={[],false};
-		 fm_solution={'',false};
-		 fm_quality={0,false};
+		 fm_tracks     = {'',false};
+		 fm_flightreqs = {struct(),false};
+		 fm_criterion  = {[],false};
+		 fm_solution   = {'',false};
+		 fm_quality    = {0,false};
 
 		 %grounding line migration: 
-		 gl_migration={NaN,true,'Integer'};
+		 gl_migration = {0,true,'Integer'};
 
 		 %solution parameters
-		 loadresults={0,false};
+		 loadresults = {0,false};
 
 		 %partitioner:
-		 adjacency={[],false};
-		 vwgt={[],false};
+		 adjacency = {[],false};
+		 vwgt      = {[],false};
 		 %}}}
-	 end
-	 properties(Dependent,Hidden) %Deprecated property
-		 % {{{
-		 % We must keep here ALL deprecated properties
-		 % This ensures that when a model object from a previous version
-		 % all fields are recovered.
-		 % loadobj is then used to assign old properties to new properties
-		 % But if we don't keep the old properties here, they would not be
-		 % recovered when the model is loaded
-		 % KEEP IN CHRONOLOGICAL ORDER (OLDER FIRST)
-		 drag;
-		 p;
-		 q;
-		 B;
-		 n;
-		 melting;
-		 accumulation;
-		 type;
-		 numberofgrids;
-		 numberofgrids2d;
-		 gridonhutter;
-		 gridonmacayeal;
-		 gridonpattyn;
-		 gridonstokes;
-		 uppergrids;
-		 lowergrids;
-		 gridonbed;
-		 gridonsurface;
-		 extractedgrids;
-		 gridoniceshelf;
-		 gridonicesheet;
-		 gridonwater;
-		 gridonnuna;
-		 gridonboundary;
-		 melting_rate;
-		 accumulation_rate;
-		 hydro_gamma;
-		 cm_noisedmp;
-		 planet;
-		 spcvelocity;
-		 % }}}
 	 end
 	 methods (Static)
@@ -432,5 +373,5 @@
 	 end
 	 methods
-		 function md=model(varargin) % {{{1
+		 function md = model(varargin) % {{{1
 
 			 switch nargin
@@ -464,5 +405,5 @@
 		 end
 		 %}}}
-		 function md=activaterepository(md) % {{{1
+		 function md = activaterepository(md) % {{{1
 			 %ACTIVATEREPOSITORY - save the model fields separately
 			 %
@@ -638,15 +579,5 @@
 			 end
 		 end% }}}
-		 function mdstruct=struct(md) % {{{1
-			 %Cast operator needed because of Dependent Hidden properties
-			 mdstruct=struct();
-			 modelprops=properties('model');
-
-			 for i=1:length(modelprops),
-				 mdstruct.(modelprops{i})=md.(modelprops{i});
-			 end
-		 end
-		 %}}}
-		 function md=setdefaultparameters(md) % {{{1
+		 function md = setdefaultparameters(md) % {{{1
 		 %SETDEFAULTPARAMETERS - plug default parameters onto model
 		 %
@@ -792,5 +723,5 @@
 			 %time adaptation? 
 			 md.time_adapt=0;
-			 md.cfl_coefficient=1/2;
+			 md.cfl_coefficient=.5;
 
 			 %Hydrostatic adjustment
@@ -917,5 +848,5 @@
 		 end
 		 %}}}
-		 function md=subsasgn(md,index,val) % {{{1
+		 function md = subsasgn(md,index,val) % {{{1
 
 			 if ~isempty(md.repository),
@@ -940,5 +871,5 @@
 			 end
 	 end %}}}
-		 function result=subsref(md,index) % {{{1
+		 function result = subsref(md,index) % {{{1
 
 			 if length(index)==1,
@@ -958,5 +889,4 @@
 				 if(strcmp(index1.subs,'transient')), displaytransient(md);return; end
 				 if(strcmp(index1.subs,'control')), displaycontrol(md);return; end
-				 if(strcmp(index1.subs,'mesh2grid')), displaymesh2grid(md);return; end
 				 if(strcmp(index1.subs,'parallel')), displayparallel(md);return; end
 
Index: /issm/trunk/src/m/model/WriteData.m
===================================================================
--- /issm/trunk/src/m/model/WriteData.m	(revision 8986)
+++ /issm/trunk/src/m/model/WriteData.m	(revision 8987)
@@ -1,10 +1,10 @@
 function WriteData(md,fid,template,field)
-%WRITEDATA 
+%WRITEDATA - write model field in binary file
 %
 %   Usage:
 %      WriteData(md,fid,template,field)
 %
-%   Eg: WriteData(md,fid,template,'thickness')
-
+%   Example:
+%     WriteData(md,fid,template,'thickness')
 
 %first recover data, enum of the data and type of data
@@ -21,6 +21,5 @@
 
 %Now, write the data itself.
-
-if     strcmpi(data_type,'Boolean'),%{{{
+if     strcmpi(data_type,'Boolean'),% {{{
 	%first write length of record
 	fwrite(fid,1+4,'int');  %1 bool+code
@@ -31,6 +30,6 @@
 	%now write integer
 	fwrite(fid,data,'uint'); 
-	%}}}
-elseif strcmpi(data_type,'Integer'), %{{{
+	% }}}
+elseif strcmpi(data_type,'Integer'), % {{{
 	%first write length of record
 	fwrite(fid,4+4,'int');  %1 integer + code
@@ -41,6 +40,6 @@
 	%now write integer
 	fwrite(fid,data,'int'); 
-	%}}}
-elseif strcmpi(data_type,'Double'), %{{{
+	% }}}
+elseif strcmpi(data_type,'Double'), % {{{
 	%first write length of record
 	fwrite(fid,8+4,'int');  %1 double+code
@@ -51,6 +50,6 @@
 	%now write double
 	fwrite(fid,data,'double'); 
-	%}}}
-elseif strcmpi(data_type,'String'), %{{{
+	% }}}
+elseif strcmpi(data_type,'String'), % {{{
 	%first write length of record
 	fwrite(fid,length(data)+4+4,'int');  %string + string size + code
@@ -62,6 +61,6 @@
 	fwrite(fid,length(data),'int'); 
 	fwrite(fid,data,'char'); 
-	%}}}
-elseif strcmpi(data_type,'BooleanMat'), %{{{
+	% }}}
+elseif strcmpi(data_type,'BooleanMat'), % {{{
 
 	%matrix type:
@@ -88,6 +87,6 @@
 		fwrite(fid,data','double'); %get to the "c" convention, hence the transpose
 	end
-	%}}}
-elseif strcmpi(data_type,'IntMat'), %{{{
+	% }}}
+elseif strcmpi(data_type,'IntMat'), % {{{
 
 	%matrix type:
@@ -114,6 +113,6 @@
 		fwrite(fid,data','double'); %get to the "c" convention, hence the transpose
 	end
-	%}}}
-elseif strcmpi(data_type,'DoubleMat'), %{{{
+	% }}}
+elseif strcmpi(data_type,'DoubleMat'), % {{{
 
 	%matrix type:
@@ -140,6 +139,6 @@
 		fwrite(fid,data','double'); %get to the "c" convention, hence the transpose
 	end
-	%}}}
-elseif strcmpi(data_type,'MatArray'), %{{{1
+	% }}}
+elseif strcmpi(data_type,'MatArray'), % {{{1
 
 	numrecords=numel(data);
@@ -171,6 +170,6 @@
 		fwrite(fid,matrix','double');
 	end
-	%}}}
-elseif strcmpi(data_type,'StringArray'), %{{{1
+	% }}}
+elseif strcmpi(data_type,'StringArray'), % {{{1
 
 	%first get length of string array: 
@@ -198,10 +197,10 @@
 		fwrite(fid,string,'char'); 
 	end
-	%}}}
+	% }}}
 else 
 	error('WriteData error message: data type not supported yet!');
 end
 
-function code=TypeToCode(data_type) %{{{1
+function code=TypeToCode(data_type) % {{{1
 %This routine takes the data_type string, and hardcodes it into an integer, which 
 %is passed along the record, in order to identify the nature of the dataset being 
@@ -227,3 +226,3 @@
 else 
 	error('TypeToCode error message: data type not supported yet!');
-end%}}}
+end% }}}
Index: /issm/trunk/src/m/qmu/process_qmu_options.m
===================================================================
--- /issm/trunk/src/m/qmu/process_qmu_options.m	(revision 8986)
+++ /issm/trunk/src/m/qmu/process_qmu_options.m	(revision 8987)
@@ -43,6 +43,4 @@
 		strcmpi(analysis_type,'thermal') |  ...
 		strcmpi(analysis_type,'parameters') |  ...
-		strcmpi(analysis_type,'mesh') |  ...
-		strcmpi(analysis_type,'mesh2grid') |  ...
 		strcmpi(analysis_type,'transient') ),
 	error(['process_qmu_options error message: analysis_type ' analysis_type ' not supported yet!']);
