Changeset 8987


Ignore:
Timestamp:
07/14/11 10:38:01 (14 years ago)
Author:
Mathieu Morlighem
Message:

cosmetics

Location:
issm/trunk/src/m
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/m/classes/model.m

    r8984 r8987  
    77    properties (SetAccess=public) %Model fields
    88                 % {{{1
    9                  %Careful here: no other class should be used as default value
    10                  %this is a bug of matlab
    11 
     9                 %Careful here: no other class should be used as default value this is a bug of matlab
    1210                 %in what follows, any field is defined according to the following convention:
    1311                 %field={defaultvalue,marshall?,data type,matrix type}
    1412
    1513                 %Model general information
    16                  notes={'',false};
    17                  name={'',true,'String'};
    18                  runtimename={'',false}; %name used when running a parallel job
    19                  counter={0,false}; %1 mesh, 2 geography, 3 parameterize
    20                  domainoutline={NaN,false};
    21                  riftoutline={NaN,false};
    22                  iceshelfoutline={NaN,false};
    23                  icesheetoutline={NaN,false};
    24                  wateroutline={NaN,false};
    25                  parameterfile={NaN,false};
    26                  runmefile={NaN,false};
     14                 notes           = {'',false};
     15                 name            = {'',true,'String'};
     16                 runtimename     = {'',false}; %name used when running a parallel job
     17                 counter         = {0,false}; %1 mesh, 2 geography, 3 parameterize
     18                 domainoutline   = {NaN,false};
     19                 riftoutline     = {NaN,false};
     20                 iceshelfoutline = {NaN,false};
     21                 icesheetoutline = {NaN,false};
     22                 wateroutline    = {NaN,false};
     23                 parameterfile   = {NaN,false};
     24                 runmefile       = {NaN,false};
    2725
    2826                 %Mesh
    29                  bamg={struct(),false};
    30                  dim={0,true,'Integer'};
    31                  numberofelements={0,true,'Integer'};
    32                  numberofnodes={0,true,'Integer'};
    33                  elements={NaN,true,'DoubleMat',2};
    34                  elements_type={NaN,true,'DoubleMat',2};
    35                  vertices_type={NaN,true,'DoubleMat',1};
    36                  x={NaN,true,'DoubleMat',1};
    37                  y={NaN,true,'DoubleMat',1};
    38                  z={NaN,true,'DoubleMat',1};
    39                  bed_slopex={NaN,false};
    40                  bed_slopey={NaN,false};
    41                  surface_slopex={NaN,false};
    42                  surface_slopey={NaN,false};
    43                  nodeconnectivity={NaN,false};
    44                  elementconnectivity={NaN,true,'DoubleMat',3};
    45                  edges={NaN,true,'DoubleMat',3};
     27                 bamg                = {struct(),false};
     28                 dim                 = {0,true,'Integer'};
     29                 numberofelements    = {0,true,'Integer'};
     30                 numberofnodes       = {0,true,'Integer'};
     31                 elements            = {NaN,true,'DoubleMat',2};
     32                 elements_type       = {NaN,true,'DoubleMat',2};
     33                 vertices_type       = {NaN,true,'DoubleMat',1};
     34                 x                   = {NaN,true,'DoubleMat',1};
     35                 y                   = {NaN,true,'DoubleMat',1};
     36                 z                   = {NaN,true,'DoubleMat',1};
     37                 bed_slopex          = {NaN,false};
     38                 bed_slopey          = {NaN,false};
     39                 surface_slopex      = {NaN,false};
     40                 surface_slopey      = {NaN,false};
     41                 nodeconnectivity    = {NaN,false};
     42                 elementconnectivity = {NaN,true,'DoubleMat',3};
     43                 edges               = {NaN,true,'DoubleMat',3};
    4644
    4745                 %I/O
    48                  io_gather={NaN,true,'Integer'};
     46                 io_gather           = {NaN,true,'Integer'};
    4947
    5048                 %Initial 2d mesh
    51                  numberofelements2d={0,true,'Integer'};
    52                  numberofnodes2d={0,true,'Integer'};
    53                  elements2d={NaN,true,'DoubleMat',3};
    54                  elements_type2d={NaN,false};
    55                  vertices_type2d={NaN,false};
    56                  x2d={NaN,false};
    57                  y2d={NaN,false};
    58                  z2d={NaN,false};
     49                 numberofelements2d = {0,true,'Integer'};
     50                 numberofnodes2d    = {0,true,'Integer'};
     51                 elements2d         = {NaN,true,'DoubleMat',3};
     52                 elements_type2d    = {NaN,false};
     53                 vertices_type2d    = {NaN,false};
     54                 x2d                = {NaN,false};
     55                 y2d                = {NaN,false};
     56                 z2d                = {NaN,false};
    5957
    6058                 %latlon of the coorinates
    61                  lat={NaN,false};
    62                  long={NaN,false};
    63                  hemisphere={NaN,false};
     59                 lat        = {NaN,false};
     60                 long       = {NaN,false};
     61                 hemisphere = {NaN,false};
    6462
    6563                 %Elements type
    66                  ishutter={0,true,'Integer'};
    67                  ismacayealpattyn={0,true,'Integer'};
    68                  isstokes={0,true,'Integer'};
     64                 ishutter             = {0,true,'Integer'};
     65                 ismacayealpattyn     = {0,true,'Integer'};
     66                 isstokes             = {0,true,'Integer'};
    6967
    7068                 %Elements
    71                  elementonhutter={NaN,false};
    72                  elementonmacayeal={NaN,false};
    73                  elementonpattyn={NaN,false};
    74                  elementonstokes={NaN,false};
     69                 elementonhutter      = {NaN,false};
     70                 elementonmacayeal    = {NaN,false};
     71                 elementonpattyn      = {NaN,false};
     72                 elementonstokes      = {NaN,false};
    7573
    7674                 %Nodes
    77                  nodeonhutter={NaN,true,'DoubleMat',1};
    78                  nodeonmacayeal={NaN,true,'DoubleMat',1};
    79                  nodeonpattyn={NaN,true,'DoubleMat',1};
    80                  nodeonstokes={NaN,true,'DoubleMat',1};
    81                  borderstokes={NaN,true,'DoubleMat',3};
     75                 nodeonhutter         = {NaN,true,'DoubleMat',1};
     76                 nodeonmacayeal       = {NaN,true,'DoubleMat',1};
     77                 nodeonpattyn         = {NaN,true,'DoubleMat',1};
     78                 nodeonstokes         = {NaN,true,'DoubleMat',1};
     79                 borderstokes         = {NaN,true,'DoubleMat',3};
    8280
    8381                 %Stokes
    84                  stokesreconditioning={0,true,'Double'};
    85                  shelf_dampening={0,true,'Integer'};
     82                 stokesreconditioning = {0,true,'Double'};
     83                 shelf_dampening      = {0,true,'Integer'};
    8684
    8785                 %Penalties
    88                  penalties={NaN,true,'DoubleMat',3};
    89                  penalty_offset={0,true,'Double'};
    90                  penalty_melting={0,true,'Double'};
    91                  penalty_lock={0,true,'Integer'};
    92                  segments={NaN,false};
    93                  segmentmarkers={NaN,false};
    94                  rifts={NaN,false};
    95                  riftinfo={NaN,true,'DoubleMat',3};
    96                  riftproperties={NaN,false};
    97                  numrifts={0,false};
     86                 penalties            = {NaN,true,'DoubleMat',3};
     87                 penalty_offset       = {0,true,'Double'};
     88                 penalty_melting      = {0,true,'Double'};
     89                 penalty_lock         = {0,true,'Integer'};
     90                 segments             = {NaN,false};
     91                 segmentmarkers       = {NaN,false};
     92                 rifts                = {NaN,false};
     93                 riftinfo             = {NaN,true,'DoubleMat',3};
     94                 riftproperties       = {NaN,false};
     95                 numrifts             = {0,false};
    9896
    9997                 %Projections
    100                  uppernodes={NaN,false};
    101                  upperelements={NaN,true,'DoubleMat',2};
    102                  lowerelements={NaN,true,'DoubleMat',2};
    103                  lowernodes={NaN,false};
     98                 uppernodes           = {NaN,false};
     99                 upperelements        = {NaN,true,'DoubleMat',2};
     100                 lowerelements        = {NaN,true,'DoubleMat',2};
     101                 lowernodes           = {NaN,false};
    104102
    105103                 %Extrusion
    106                  numlayers={0,true,'Integer'};
    107                  extrusionexponent={0,false};
    108                  elementonbed={NaN,true,'BooleanMat',2};
    109                  elementonsurface={NaN,true,'BooleanMat',2};
    110                  nodeonbed={NaN,true,'BooleanMat',1};
    111                  nodeonsurface={NaN,true,'BooleanMat',1};
    112                  minh={0,false};
    113                  firn_layer={NaN,false};
     104                 numlayers         = {0,true,'Integer'};
     105                 extrusionexponent = {0,false};
     106                 elementonbed      = {NaN,true,'BooleanMat',2};
     107                 elementonsurface  = {NaN,true,'BooleanMat',2};
     108                 nodeonbed         = {NaN,true,'BooleanMat',1};
     109                 nodeonsurface     = {NaN,true,'BooleanMat',1};
     110                 minh              = {0,false};
     111                 firn_layer        = {NaN,false};
    114112
    115113                 %Extraction
    116                  extractednodes={NaN,false};
    117                  extractedelements={NaN,false};
     114                 extractednodes    = {NaN,false};
     115                 extractedelements = {NaN,false};
    118116
    119117                 %Materials parameters
    120                  rho_ice={0,true,'Double'};
    121                  rho_water={0,true,'Double'};
    122                  rho_firn={0,false};
    123                  heatcapacity={0,true,'Double'};
    124                  latentheat={0,true,'Double'};
    125                  thermalconductivity={0,true,'Double'};
    126                  meltingpoint={0,true,'Double'};
    127                  referencetemperature={0,true,'Double'}; %for enthalpy
    128                  beta={0,true,'Double'};
     118                 rho_ice                    = {0,true,'Double'};
     119                 rho_water                  = {0,true,'Double'};
     120                 rho_firn                   = {0,false};
     121                 heatcapacity               = {0,true,'Double'};
     122                 latentheat                 = {0,true,'Double'};
     123                 thermalconductivity        = {0,true,'Double'};
     124                 meltingpoint               = {0,true,'Double'};
     125                 referencetemperature       = {0,true,'Double'}; %for enthalpy
     126                 beta                       = {0,true,'Double'};
     127                 mixed_layer_capacity       = {0,true,'Double'};
     128                 thermal_exchange_velocity  = {0,true,'Double'};
     129                 min_thermal_constraints    = {0,true,'Integer'};
     130                 min_mechanical_constraints = {0,true,'Integer'};
     131                 stabilize_constraints      = {0,true,'Integer'};
     132
     133                 %Physical parameters
     134                 g                = {0,true,'Double'};
     135                 yts              = {0,true,'Double'};
     136                 drag_type        = {0,true,'Integer'};
     137                 drag_coefficient = {NaN,true,'DoubleMat',1};
     138                 drag_p           = {NaN,true,'DoubleMat',2};
     139                 drag_q           = {NaN,true,'DoubleMat',2};
     140                 rheology_B       = {NaN,true,'DoubleMat',1};
     141                 rheology_n       = {NaN,true,'DoubleMat',2};
     142                 rheology_law     = {0,true,'Integer'};
     143
     144                 %Geometrical parameters
     145                 elementoniceshelf = {NaN,true,'BooleanMat',2};
     146                 elementonicesheet = {NaN,true,'BooleanMat',2};
     147                 elementonwater    = {NaN,true,'BooleanMat',2};
     148                 nodeoniceshelf    = {NaN,true,'DoubleMat',1};
     149                 nodeonicesheet    = {NaN,true,'DoubleMat',1};
     150                 nodeonwater       = {NaN,true,'DoubleMat',1};
     151                 surface           = {NaN,true,'DoubleMat',1};
     152                 thickness         = {NaN,true,'DoubleMat',1};
     153                 thickness_coeff   = {NaN,true,'DoubleMat',1};
     154                 bed               = {NaN,true,'DoubleMat',1};
     155                 bathymetry        = {NaN,true,'DoubleMat',1};
     156                 mask              = {NaN,false};
     157
     158                 %Boundary conditions
     159                 nodeonboundary = {NaN,false};
     160                 pressureload   = {NaN,true,'DoubleMat',3};
     161                 spcvx          = {NaN,true,'DoubleMat',1};
     162                 spcvy          = {NaN,true,'DoubleMat',1};
     163                 spcvz          = {NaN,true,'DoubleMat',1};
     164                 spctemperature = {NaN,true,'DoubleMat',1};
     165                 spcthickness   = {NaN,true,'DoubleMat',1};
     166                 spcwatercolumn = {NaN,true,'DoubleMat',1};
     167                 diagnostic_ref = {NaN,true,'DoubleMat',1};
     168
     169                 %Observations
     170                 vx_obs                    = {NaN,true,'DoubleMat',1};
     171                 vy_obs                    = {NaN,true,'DoubleMat',1};
     172                 vel_obs                   = {NaN,false};
     173                 vx_obs_raw                = {NaN,false};
     174                 vy_obs_raw                = {NaN,false};
     175                 vx_bal                    = {NaN,false};
     176                 vy_bal                    = {NaN,false};
     177                 vel_bal                   = {NaN,false};
     178                 vel_obs_raw               = {NaN,false};
     179                 surface_accumulation_rate = {NaN,true,'DoubleMat',1};
     180                 surface_ablation_rate     = {NaN,true,'DoubleMat',1};
     181                 surface_mass_balance      = {NaN,true,'DoubleMat',1};
     182                 dhdt                      = {NaN,true,'DoubleMat',1};
     183                 geothermalflux            = {NaN,true,'DoubleMat',1};
     184                 observed_temperature      = {NaN,false};
     185                 thickness_obs             = {NaN,true,'DoubleMat',1};
     186
     187                 %Forcings
     188                 forcings = {struct(),false};
     189
     190                 %Statics parameters
     191                 eps_res                  = {0,true,'Double'};
     192                 eps_rel                  = {0,true,'Double'};
     193                 eps_abs                  = {0,true,'Double'};
     194                 max_nonlinear_iterations = {0,true,'Double'};
     195                 sparsity                 = {0,true,'Double'};
     196                 connectivity             = {0,true,'Integer'};
     197                 lowmem                   = {0,true,'Integer'};
     198                 viscosity_overshoot      = {0,true,'Double'};
     199
     200                 %Transient
     201                 dt                     = {0,true,'Double'};
     202                 ndt                    = {0,true,'Double'};
     203                 time_adapt             = {0,true,'Integer'};
     204                 cfl_coefficient        = {0,true,'Double'};
     205                 adaptative_cfl         = {0,false};
     206                 artificial_diffusivity = {0,true,'Integer'};
     207                 prognostic_DG          = {0,true,'Integer'};
     208                 deltaH                 = {0,false};
     209                 DeltaH                 = {0,false};
     210                 deltaT                 = {0,false};
     211                 DeltaT                 = {0,false};
     212                 timeacc                = {0,false};
     213                 timedec                = {0,false};
     214                 hydrostatic_adjustment = {0,true,'Integer'};
     215                 isprognostic = {0,true,'Integer'};
     216                 isdiagnostic = {0,true,'Integer'};
     217                 isthermal    = {0,true,'Integer'};
     218                 %Control
     219                 control_analysis = {0,true,'Integer'};
     220                 control_type     = {0,true,'DoubleMat',3};
     221                 weights          = {[],true,'DoubleMat',1};
     222                 nsteps           = {0,true,'Integer'};
     223                 maxiter          = {[],true,'DoubleMat',3};
     224                 cm_responses     = {[],true,'DoubleMat',3};
     225                 tolx             = {0,true,'Double'};
     226                 optscal          = {[],true,'DoubleMat',3};
     227                 eps_cm           = {0,true,'Double'};
     228                 cm_min           = {NaN,true,'DoubleMat',3};
     229                 cm_max           = {NaN,true,'DoubleMat',3};
     230                 cm_jump          = {[],true,'DoubleMat',3};
     231                 cm_gradient      = {0,true,'Integer'};
     232                 epsvel                              = {0,true,'Double'};
     233                 meanvel                             = {0,true,'Double'};
     234                 num_control_type                    = {0,true,'Integer'};
     235                 num_cm_responses                    = {0,true,'Integer'};
     236                 %Output
     237                 parameteroutput                     = {{},true,'StringArray'};
     238                 viscousheating                      = {NaN,false};
     239                 pressure_elem                       = {NaN,false};
     240                 stress                              = {NaN,false};
     241                 stress_surface                      = {NaN,false};
     242                 stress_bed                          = {NaN,false};
     243                 deviatoricstress                    = {NaN,false};
     244                 strainrate                          = {NaN,false};
     245                 %Debugging
     246                 verbose                             = {0,false};
     247                 verbose_binary                      = {0,true,'Integer'};
     248                 element_debug                       = {0,false};
     249                 element_debugid                     = {NaN,false};
     250                 mem_debug                           = {0,false};
     251                 gprof                               = {0,false};
     252                 memoryleaks                         = {NaN,false};
     253                 %Results fields
     254                 output_frequency                    = {0,true,'Integer'};
     255                 inputfilename                       = {'',true,'String'};
     256                 outputfilename                      = {'',true,'String'};
     257                 results                             = {struct(),false};
     258                 vx                                  = {NaN,true,'DoubleMat',1};
     259                 vy                                  = {NaN,true,'DoubleMat',1};
     260                 vz                                  = {NaN,true,'DoubleMat',1};
     261                 vel                                 = {NaN,false};
     262                 temperature                         = {NaN,true,'DoubleMat',1}; %temperature solution vector
     263                 waterfraction                       = {NaN,true,'DoubleMat',1};
     264                 gl_melting_rate                     = {NaN,true,'Double'};
     265                 basal_melting_rate                  = {NaN,true,'DoubleMat',1};
     266                 basal_melting_rate_correction       = {NaN,true,'DoubleMat',1};
     267                 basal_melting_rate_correction_apply = {0,true,'Integer'};
     268                 pressure                            = {NaN,true,'DoubleMat',1};
     269                 %Hydrology
     270                 watercolumn                         = {NaN,true,'Double'};
     271                 hydro_n                             = {0,true,'Double'};
     272                 hydro_CR                            = {0,true,'Double'};
     273                 hydro_p                             = {0,true,'Double'};
     274                 hydro_q                             = {0,true,'Double'};
     275                 hydro_kn                            = {0,true,'Double'};
    129276                 
    130                  mixed_layer_capacity={0,true,'Double'};
    131                  thermal_exchange_velocity={0,true,'Double'};
    132                  min_thermal_constraints={0,true,'Integer'};
    133                  min_mechanical_constraints={0,true,'Integer'};
    134                  stabilize_constraints={0,true,'Integer'};
    135 
    136                  %Physical parameters
    137                  g={0,true,'Double'};
    138                  yts={0,true,'Double'};
    139                  drag_type={0,true,'Integer'};
    140                  drag_coefficient={NaN,true,'DoubleMat',1};
    141                  drag_p={NaN,true,'DoubleMat',2};
    142                  drag_q={NaN,true,'DoubleMat',2};
    143                  rheology_B={NaN,true,'DoubleMat',1};
    144                  rheology_n={NaN,true,'DoubleMat',2};
    145                  rheology_law={0,true,'Integer'};
    146 
    147                  %Geometrical parameters
    148                  elementoniceshelf={NaN,true,'BooleanMat',2};
    149                  elementonicesheet={NaN,true,'BooleanMat',2};
    150                  elementonwater={NaN,true,'BooleanMat',2};
    151                  elementonnuna={NaN,false,'BooleanMat',2};
    152                  nodeoniceshelf={NaN,true,'DoubleMat',1};
    153                  nodeonicesheet={NaN,true,'DoubleMat',1};
    154                  nodeonwater={NaN,true,'DoubleMat',1};
    155                  nodeonnuna={NaN,false};
    156                  surface={NaN,true,'DoubleMat',1};
    157                  thickness={NaN,true,'DoubleMat',1};
    158                  thickness_coeff={NaN,true,'DoubleMat',1};
    159                  bed={NaN,true,'DoubleMat',1};
    160                  bathymetry={NaN,true,'DoubleMat',1};
    161                  mask={NaN,false};
    162 
    163                  %Boundary conditions
    164                  nodeonboundary={NaN,false};
    165                  pressureload={NaN,true,'DoubleMat',3};
    166                  spcvx={NaN,true,'DoubleMat',1};
    167                  spcvy={NaN,true,'DoubleMat',1};
    168                  spcvz={NaN,true,'DoubleMat',1};
    169                  spctemperature={NaN,true,'DoubleMat',1};
    170                  spcthickness={NaN,true,'DoubleMat',1};
    171                  spcwatercolumn={NaN,true,'DoubleMat',1};
    172                  diagnostic_ref={NaN,true,'DoubleMat',1};
    173 
    174                  %Observations
    175                  vx_obs={NaN,true,'DoubleMat',1};
    176                  vy_obs={NaN,true,'DoubleMat',1};
    177                  vel_obs={NaN,false};
    178                  vx_obs_raw={NaN,false};
    179                  vy_obs_raw={NaN,false};
    180                  vx_bal={NaN,false};
    181                  vy_bal={NaN,false};
    182                  vel_bal={NaN,false};
    183                  vel_obs_raw={NaN,false};
    184                  surface_accumulation_rate={NaN,true,'DoubleMat',1};
    185                  surface_ablation_rate={NaN,true,'DoubleMat',1};
    186                  surface_mass_balance={NaN,true,'DoubleMat',1};
    187                  dhdt={NaN,true,'DoubleMat',1};
    188                  geothermalflux={NaN,true,'DoubleMat',1};
    189                  observed_temperature={NaN,false};
    190                  thickness_obs={NaN,true,'DoubleMat',1};
    191 
    192                  %Forcings
    193                  forcings={struct(),false};
    194 
    195                  %Statics parameters
    196                  eps_res={0,true,'Double'};
    197                  eps_rel={0,true,'Double'};
    198                  eps_abs={0,true,'Double'};
    199                  max_nonlinear_iterations={0,true,'Double'};
    200                  sparsity={0,true,'Double'};
    201                  connectivity={0,true,'Integer'};
    202                  lowmem={0,true,'Integer'};
    203                  viscosity_overshoot={0,true,'Double'};
    204 
    205                  %Transient parameters
    206                  dt={0,true,'Double'};
    207                  ndt={0,true,'Double'};
    208                  time_adapt={0,true,'Integer'};
    209                  cfl_coefficient={1/2,true,'Double'};
    210                  adaptative_cfl={0,false};
    211                  artificial_diffusivity={0,true,'Integer'};
    212                  prognostic_DG={0,true,'Integer'};
    213                  deltaH={0,false};
    214                  DeltaH={0,false};
    215                  deltaT={0,false};
    216                  DeltaT={0,false};
    217                  timeacc={0,false};
    218                  timedec={0,false};
    219                  hydrostatic_adjustment={0,true,'Integer'};
    220 
    221                  %Transient flags
    222                  isprognostic={0,true,'Integer'};
    223                  isdiagnostic={0,true,'Integer'};
    224                  isthermal={0,true,'Integer'};
    225 
    226                  %Control
    227                  control_analysis={0,true,'Integer'};
    228                  control_type={0,true,'DoubleMat',3};
    229                  weights={[],true,'DoubleMat',1};
    230                  nsteps={0,true,'Integer'};
    231                  maxiter={[],true,'DoubleMat',3};
    232                  cm_responses={[],true,'DoubleMat',3};
    233                  tolx={0,true,'Double'};
    234                  optscal={[],true,'DoubleMat',3};
    235                  eps_cm={0,true,'Double'};
    236                  cm_min={NaN,true,'DoubleMat',3};
    237                  cm_max={NaN,true,'DoubleMat',3};
    238                  cm_jump={[],true,'DoubleMat',3};
    239                  cm_gradient={0,true,'Integer'};
    240                  epsvel={0,true,'Double'};
    241                  meanvel={0,true,'Double'};
    242                  num_control_type={0,true,'Integer'};
    243                  num_cm_responses={0,true,'Integer'};
    244 
    245                  %Output parameters
    246                  parameteroutput={{},true,'StringArray'};
    247                  viscousheating={NaN,false};
    248                  pressure_elem={NaN,false};
    249                  stress={NaN,false};
    250                  stress_surface={NaN,false};
    251                  stress_bed={NaN,false};
    252                  deviatoricstress={NaN,false};
    253                  strainrate={NaN,false};
    254 
    255                  %debugging
    256                  verbose={0,false};
    257                  verbose_binary={0,true,'Integer'};
    258                  element_debug={0,false};
    259                  element_debugid={NaN,false};
    260                  mem_debug={0,false};
    261                  gprof={0,false};
    262                  memoryleaks={NaN,false};
    263 
    264                  %Results fields
    265                  output_frequency={0,true,'Integer'};
    266                  inputfilename={'',true,'String'};
    267                  outputfilename={'',true,'String'};
    268                  results={struct(),false};
    269                  vx={NaN,true,'DoubleMat',1};
    270                  vy={NaN,true,'DoubleMat',1};
    271                  vz={NaN,true,'DoubleMat',1};
    272                  vel={NaN,false};
    273                  temperature={NaN,true,'DoubleMat',1}; %temperature solution vector
    274                  waterfraction={NaN,true,'DoubleMat',1};
    275                  gl_melting_rate={NaN,true,'Double'};
    276                  basal_melting_rate={NaN,true,'DoubleMat',1};
    277                  basal_melting_rate_correction={NaN,true,'DoubleMat',1};
    278                  basal_melting_rate_correction_apply={0,true,'Integer'};
    279                  pressure={NaN,true,'DoubleMat',1};
    280                  
    281                  %hydrology
    282                  watercolumn={NaN,true,'Double'};
    283                  hydro_n={0,true,'Double'};
    284                  hydro_CR={0,true,'Double'};
    285                  hydro_p={0,true,'Double'};
    286                  hydro_q={0,true,'Double'};
    287                  hydro_kn={0,true,'Double'};
    288                  
    289                  %Parallelisation parameters
    290                  cluster={NaN,false};
    291                  outlog={'',false};
    292                  errlog={'',false};
    293                  alloc_cleanup={1,false};
    294                  waitonlock={0,true,'Double'};
    295 
    296                  %mesh2grid
    297                  mesh2grid_parameters={{},false};
    298                  mesh2grid_data={NaN,false};
    299                  mesh2grid_xm={NaN,false};
    300                  mesh2grid_ym={NaN,false};
     277                 %Parallelisation
     278                 cluster       = {NaN,false};
     279                 outlog        = {'',false};
     280                 errlog        = {'',false};
     281                 alloc_cleanup = {1,false};
     282                 waitonlock    = {0,true,'Double'};
    301283
    302284                 %dummy
    303                  dummy={NaN,false};
     285                 dummy = {NaN,false};
    304286
    305287                 %mesh
    306                  mesh_domainoutline={'',false};
    307                  mesh_riftoutline={'',false};
    308                  mesh_resolution={NaN,false};
     288                 mesh_domainoutline = {'',false};
     289                 mesh_riftoutline   = {'',false};
     290                 mesh_resolution    = {NaN,false};
    309291
    310292                 %PETSc and MATLAB solver string
    311                  petscoptions={NaN,false};
     293                 petscoptions  = {NaN,false};
    312294
    313295                 %Analysis
    314                  solution_type={'',false};
     296                 solution_type = {'',false};
    315297
    316298                 %management of large models
    317                  repository={'',false};
     299                 repository    = {'',false};
    318300
    319301                 %radar power images
    320                  sarpwr={NaN,false};
    321                  sarxm={NaN,false};
    322                  sarym={NaN,false};
     302                 sarpwr = {NaN,false};
     303                 sarxm  = {NaN,false};
     304                 sarym  = {NaN,false};
    323305
    324306                 %qmu
    325                  variables={struct(),false};
    326                  responses={struct(),false};
    327                  qmu_method={struct(),false};
    328                  qmu_params={struct(),false};
    329                  dakotaresults={struct(),false};
    330                  dakotain={'',false};
    331                  dakotaout={'',false};
    332                  dakotadat={'',false};
    333                  qmu_analysis={0,true,'Integer'};
    334                  part={[],true,'DoubleMat',2};
    335                  npart={0,true,'Integer'};
    336                  numberofvariables={0,true,'Integer'};
    337                  numberofresponses={0,true,'Integer'};
    338                  variabledescriptors={{},true,'StringArray'};
    339                  responsedescriptors={{},true,'StringArray'};
    340                  qmu_mass_flux_profile_directory={NaN,false};
    341                  qmu_mass_flux_profiles={NaN,false};
    342                  qmu_mass_flux_segments={{},true,'MatArray'};
    343                  qmu_relax={0,false};
    344                  qmu_save_femmodel={0,true,'Integer'};
     307                 variables                       = {struct(),false};
     308                 responses                       = {struct(),false};
     309                 qmu_method                      = {struct(),false};
     310                 qmu_params                      = {struct(),false};
     311                 dakotaresults                   = {struct(),false};
     312                 dakotain                        = {'',false};
     313                 dakotaout                       = {'',false};
     314                 dakotadat                       = {'',false};
     315                 qmu_analysis                    = {0,true,'Integer'};
     316                 part                            = {[],true,'DoubleMat',2};
     317                 npart                           = {0,true,'Integer'};
     318                 numberofvariables               = {0,true,'Integer'};
     319                 numberofresponses               = {0,true,'Integer'};
     320                 variabledescriptors             = {{},true,'StringArray'};
     321                 responsedescriptors             = {{},true,'StringArray'};
     322                 qmu_mass_flux_profile_directory = {NaN,false};
     323                 qmu_mass_flux_profiles          = {NaN,false};
     324                 qmu_mass_flux_segments          = {{},true,'MatArray'};
     325                 qmu_relax                       = {0,false};
     326                 qmu_save_femmodel               = {0,true,'Integer'};
    345327
    346328                 %flaim
    347                  fm_tracks={'',false};
    348                  fm_flightreqs={struct(),false};
    349                  fm_criterion={[],false};
    350                  fm_solution={'',false};
    351                  fm_quality={0,false};
     329                 fm_tracks     = {'',false};
     330                 fm_flightreqs = {struct(),false};
     331                 fm_criterion  = {[],false};
     332                 fm_solution   = {'',false};
     333                 fm_quality    = {0,false};
    352334
    353335                 %grounding line migration:
    354                  gl_migration={NaN,true,'Integer'};
     336                 gl_migration = {0,true,'Integer'};
    355337
    356338                 %solution parameters
    357                  loadresults={0,false};
     339                 loadresults = {0,false};
    358340
    359341                 %partitioner:
    360                  adjacency={[],false};
    361                  vwgt={[],false};
     342                 adjacency = {[],false};
     343                 vwgt      = {[],false};
    362344                 %}}}
    363          end
    364          properties(Dependent,Hidden) %Deprecated property
    365                  % {{{
    366                  % We must keep here ALL deprecated properties
    367                  % This ensures that when a model object from a previous version
    368                  % all fields are recovered.
    369                  % loadobj is then used to assign old properties to new properties
    370                  % But if we don't keep the old properties here, they would not be
    371                  % recovered when the model is loaded
    372                  % KEEP IN CHRONOLOGICAL ORDER (OLDER FIRST)
    373                  drag;
    374                  p;
    375                  q;
    376                  B;
    377                  n;
    378                  melting;
    379                  accumulation;
    380                  type;
    381                  numberofgrids;
    382                  numberofgrids2d;
    383                  gridonhutter;
    384                  gridonmacayeal;
    385                  gridonpattyn;
    386                  gridonstokes;
    387                  uppergrids;
    388                  lowergrids;
    389                  gridonbed;
    390                  gridonsurface;
    391                  extractedgrids;
    392                  gridoniceshelf;
    393                  gridonicesheet;
    394                  gridonwater;
    395                  gridonnuna;
    396                  gridonboundary;
    397                  melting_rate;
    398                  accumulation_rate;
    399                  hydro_gamma;
    400                  cm_noisedmp;
    401                  planet;
    402                  spcvelocity;
    403                  % }}}
    404345         end
    405346         methods (Static)
     
    432373         end
    433374         methods
    434                  function md=model(varargin) % {{{1
     375                 function md = model(varargin) % {{{1
    435376
    436377                         switch nargin
     
    464405                 end
    465406                 %}}}
    466                  function md=activaterepository(md) % {{{1
     407                 function md = activaterepository(md) % {{{1
    467408                         %ACTIVATEREPOSITORY - save the model fields separately
    468409                         %
     
    638579                         end
    639580                 end% }}}
    640                  function mdstruct=struct(md) % {{{1
    641                          %Cast operator needed because of Dependent Hidden properties
    642                          mdstruct=struct();
    643                          modelprops=properties('model');
    644 
    645                          for i=1:length(modelprops),
    646                                  mdstruct.(modelprops{i})=md.(modelprops{i});
    647                          end
    648                  end
    649                  %}}}
    650                  function md=setdefaultparameters(md) % {{{1
     581                 function md = setdefaultparameters(md) % {{{1
    651582                 %SETDEFAULTPARAMETERS - plug default parameters onto model
    652583                 %
     
    792723                         %time adaptation?
    793724                         md.time_adapt=0;
    794                          md.cfl_coefficient=1/2;
     725                         md.cfl_coefficient=.5;
    795726
    796727                         %Hydrostatic adjustment
     
    917848                 end
    918849                 %}}}
    919                  function md=subsasgn(md,index,val) % {{{1
     850                 function md = subsasgn(md,index,val) % {{{1
    920851
    921852                         if ~isempty(md.repository),
     
    940871                         end
    941872         end %}}}
    942                  function result=subsref(md,index) % {{{1
     873                 function result = subsref(md,index) % {{{1
    943874
    944875                         if length(index)==1,
     
    958889                                 if(strcmp(index1.subs,'transient')), displaytransient(md);return; end
    959890                                 if(strcmp(index1.subs,'control')), displaycontrol(md);return; end
    960                                  if(strcmp(index1.subs,'mesh2grid')), displaymesh2grid(md);return; end
    961891                                 if(strcmp(index1.subs,'parallel')), displayparallel(md);return; end
    962892
  • issm/trunk/src/m/model/WriteData.m

    r8967 r8987  
    11function WriteData(md,fid,template,field)
    2 %WRITEDATA
     2%WRITEDATA - write model field in binary file
    33%
    44%   Usage:
    55%      WriteData(md,fid,template,field)
    66%
    7 %   Eg: WriteData(md,fid,template,'thickness')
    8 
     7%   Example:
     8%     WriteData(md,fid,template,'thickness')
    99
    1010%first recover data, enum of the data and type of data
     
    2121
    2222%Now, write the data itself.
    23 
    24 if     strcmpi(data_type,'Boolean'),%{{{
     23if     strcmpi(data_type,'Boolean'),% {{{
    2524        %first write length of record
    2625        fwrite(fid,1+4,'int');  %1 bool+code
     
    3130        %now write integer
    3231        fwrite(fid,data,'uint');
    33         %}}}
    34 elseif strcmpi(data_type,'Integer'), %{{{
     32        % }}}
     33elseif strcmpi(data_type,'Integer'), % {{{
    3534        %first write length of record
    3635        fwrite(fid,4+4,'int');  %1 integer + code
     
    4140        %now write integer
    4241        fwrite(fid,data,'int');
    43         %}}}
    44 elseif strcmpi(data_type,'Double'), %{{{
     42        % }}}
     43elseif strcmpi(data_type,'Double'), % {{{
    4544        %first write length of record
    4645        fwrite(fid,8+4,'int');  %1 double+code
     
    5150        %now write double
    5251        fwrite(fid,data,'double');
    53         %}}}
    54 elseif strcmpi(data_type,'String'), %{{{
     52        % }}}
     53elseif strcmpi(data_type,'String'), % {{{
    5554        %first write length of record
    5655        fwrite(fid,length(data)+4+4,'int');  %string + string size + code
     
    6261        fwrite(fid,length(data),'int');
    6362        fwrite(fid,data,'char');
    64         %}}}
    65 elseif strcmpi(data_type,'BooleanMat'), %{{{
     63        % }}}
     64elseif strcmpi(data_type,'BooleanMat'), % {{{
    6665
    6766        %matrix type:
     
    8887                fwrite(fid,data','double'); %get to the "c" convention, hence the transpose
    8988        end
    90         %}}}
    91 elseif strcmpi(data_type,'IntMat'), %{{{
     89        % }}}
     90elseif strcmpi(data_type,'IntMat'), % {{{
    9291
    9392        %matrix type:
     
    114113                fwrite(fid,data','double'); %get to the "c" convention, hence the transpose
    115114        end
    116         %}}}
    117 elseif strcmpi(data_type,'DoubleMat'), %{{{
     115        % }}}
     116elseif strcmpi(data_type,'DoubleMat'), % {{{
    118117
    119118        %matrix type:
     
    140139                fwrite(fid,data','double'); %get to the "c" convention, hence the transpose
    141140        end
    142         %}}}
    143 elseif strcmpi(data_type,'MatArray'), %{{{1
     141        % }}}
     142elseif strcmpi(data_type,'MatArray'), % {{{1
    144143
    145144        numrecords=numel(data);
     
    171170                fwrite(fid,matrix','double');
    172171        end
    173         %}}}
    174 elseif strcmpi(data_type,'StringArray'), %{{{1
     172        % }}}
     173elseif strcmpi(data_type,'StringArray'), % {{{1
    175174
    176175        %first get length of string array:
     
    198197                fwrite(fid,string,'char');
    199198        end
    200         %}}}
     199        % }}}
    201200else
    202201        error('WriteData error message: data type not supported yet!');
    203202end
    204203
    205 function code=TypeToCode(data_type) %{{{1
     204function code=TypeToCode(data_type) % {{{1
    206205%This routine takes the data_type string, and hardcodes it into an integer, which
    207206%is passed along the record, in order to identify the nature of the dataset being
     
    227226else
    228227        error('TypeToCode error message: data type not supported yet!');
    229 end%}}}
     228end% }}}
  • issm/trunk/src/m/qmu/process_qmu_options.m

    r7629 r8987  
    4343                strcmpi(analysis_type,'thermal') |  ...
    4444                strcmpi(analysis_type,'parameters') |  ...
    45                 strcmpi(analysis_type,'mesh') |  ...
    46                 strcmpi(analysis_type,'mesh2grid') |  ...
    4745                strcmpi(analysis_type,'transient') ),
    4846        error(['process_qmu_options error message: analysis_type ' analysis_type ' not supported yet!']);
Note: See TracChangeset for help on using the changeset viewer.