Changeset 25136
- Timestamp:
 - 06/24/20 11:52:30 (5 years ago)
 - Location:
 - issm/trunk-jpl/src/m
 - Files:
 - 
      
- 6 edited
 
- 
          
  classes/clusters/generic.py (modified) (1 diff)
 - 
          
  classes/giacaron.m (modified) (18 diffs)
 - 
          
  classes/giaivins.py (modified) (1 diff)
 - 
          
  classes/model.py (modified) (1 diff)
 - 
          
  classes/sealevelmodel.m (modified) (1 diff)
 - 
          
  miscellaneous/fielddisplay.py (modified) (2 diffs)
 
 
Legend:
- Unmodified
 - Added
 - Removed
 
- 
      
issm/trunk-jpl/src/m/classes/clusters/generic.py
r24602 r25136 163 163 fid.write('\n gprof {}/kriging.exe gmon.out>{}.performance'.format(self.codepath, modelname)) 164 164 else: 165 #Add - - gen - suppressions = all to get suppression lines165 #Add -- gen - suppressions = all to get suppression lines 166 166 #fid.write('LD_PRELOAD={} \\\n'.format(self.valgrindlib)) 167 167 fid.write('mpiexec -np {} {} --leak -check=full --suppressions={} {}/kriging.exe {}/{} {} 2 > {}.errlog > {}.outlog ' .format(self.np, self.valgrind, self.valgrindsup, self.codepath, self.executionpath, modelname, modelname, modelname, modelname))  - 
      
issm/trunk-jpl/src/m/classes/giacaron.m
r25056 r25136 1 1 %GIA class definition for Caron model (Caron et al, Geophysical Journal International, 2017) 2 2 % 3 % Usage:4 % giacaron=giacaron();3 % Usage: 4 % giacaron=giacaron(); 5 5 classdef giacaron 6 6 properties (SetAccess=public) 7 8 %Physical constants9 gravitational_constant= NaN;10 surface_radius = NaN;7 8 %Physical constants 9 gravitational_constant= NaN; 10 surface_radius = NaN; 11 11 core_mantle_boudary_radius= NaN; 12 inner_core_boudary_radius= NaN;13 stress_norm= NaN;14 gravity_norm= NaN;15 radius_norm= NaN;16 17 %Numerical parameters18 allow_layer_deletion=NaN;19 verbose_mode=NaN;20 21 %GIA problem setup22 forcing_type=NaN;23 isincompressible=NaN;24 benchmark_mode=NaN;25 calculate_sea_level=NaN;26 calculate_rotational_feedback=NaN;27 subtract_present_day=NaN;28 ntime=NaN;29 nphi=NaN;30 31 %Earth model32 numlayers = NaN;12 inner_core_boudary_radius= NaN; 13 stress_norm= NaN; 14 gravity_norm= NaN; 15 radius_norm= NaN; 16 17 %Numerical parameters 18 allow_layer_deletion=NaN; 19 verbose_mode=NaN; 20 21 %GIA problem setup 22 forcing_type=NaN; 23 isincompressible=NaN; 24 benchmark_mode=NaN; 25 calculate_sea_level=NaN; 26 calculate_rotational_feedback=NaN; 27 subtract_present_day=NaN; 28 ntime=NaN; 29 nphi=NaN; 30 31 %Earth model 32 numlayers = NaN; 33 33 radius = NaN; 34 34 lame_mu = NaN; … … 39 39 isburger = NaN; 40 40 transient_viscosity = NaN; 41 transient_mu = NaN;42 43 %Ice history44 ice_model_identifier=NaN;45 ice_model_ntime=NaN;46 nice_sheets=NaN;47 41 transient_mu = NaN; 42 43 %Ice history 44 ice_model_identifier=NaN; 45 ice_model_ntime=NaN; 46 nice_sheets=NaN; 47 48 48 end 49 49 methods … … 58 58 if strcmpi(body,'earth'), 59 59 self.numlayers=getfieldvalue(options,'numlayers',5); 60 self.calculate_sea_level=true;60 self.calculate_sea_level=true; 61 61 %[self.radius,self.lame_mu, self.lame_lambda, self.issolid, self.density, ... 62 62 %self.viscosity, self.isburger, self.transient_viscosity, self.transient_mu]=... … … 70 70 end % }}} 71 71 function self = setdefaultparameters(self) % {{{ 72 %Physical constants73 gravitational_constant= 6.67259e-11;74 stress_norm= 1e12;75 gravity_norm= 10;76 radius_norm= 1.0;77 78 %Numerical parameters79 allow_layer_deletion=true;80 verbose_mode=false;81 82 %GIA problem setup83 forcing_type=11;84 isincompressible=false;85 benchmark_mode=false;86 calculate_sea_level=false;87 calculate_rotational_feedback=true;88 subtract_present_day=true;89 90 %Earth model91 isburger = false(self.numlayers,1);92 93 %Ice history94 nice_sheets=1;72 %Physical constants 73 gravitational_constant= 6.67259e-11; 74 stress_norm= 1e12; 75 gravity_norm= 10; 76 radius_norm= 1.0; 77 78 %Numerical parameters 79 allow_layer_deletion=true; 80 verbose_mode=false; 81 82 %GIA problem setup 83 forcing_type=11; 84 isincompressible=false; 85 benchmark_mode=false; 86 calculate_sea_level=false; 87 calculate_rotational_feedback=true; 88 subtract_present_day=true; 89 90 %Earth model 91 isburger = false(self.numlayers,1); 92 93 %Ice history 94 nice_sheets=1; 95 95 96 96 end % }}} … … 98 98 99 99 if ~ismember('GiaAnalysis',analyses), return; end 100 % Physical constants101 md = checkfield(md,'fieldname','gia.gravitational_constant','NaN',1,'Inf',1,'numel',1,'>',0);102 md = checkfield(md,'fieldname','gia.surface_radius','NaN',1,'Inf',1,'numel',1,'>',0);100 % Physical constants 101 md = checkfield(md,'fieldname','gia.gravitational_constant','NaN',1,'Inf',1,'numel',1,'>',0); 102 md = checkfield(md,'fieldname','gia.surface_radius','NaN',1,'Inf',1,'numel',1,'>',0); 103 103 md = checkfield(md,'fieldname','gia.core_mantle_boundary_radius','Inf',1,'numel',1,'>',0); 104 104 md = checkfield(md,'fieldname','gia.inner_core_boundary_radius','Inf',1,'numel',1,'>',0); … … 107 107 md = checkfield(md,'fieldname','gia.gravity_norm','NaN',1,'Inf',1,'numel',1,'>',0); 108 108 109 %Numerical parameters110 md = checkfield(md,'fieldname','gia.allow_layer_deletion','values',[0 1]);109 %Numerical parameters 110 md = checkfield(md,'fieldname','gia.allow_layer_deletion','values',[0 1]); 111 111 md = checkfield(md,'fieldname','gia.verbose_mode','values',[0 1]); 112 112 113 %GIA problem setup114 md = checkfield(md,'fieldname','gia.forcing_type','NaN',1,'Inf',1,'numel',1,'>',0, '<=', 12);115 md = checkfield(md,'fieldname','gia.isincompressible','values',[0 1]);116 md = checkfield(md,'fieldname','gia.benchmark_mode','values',[0 1]);117 md = checkfield(md,'fieldname','gia.calculate_sea_level','values',[0 1]);118 md = checkfield(md,'fieldname','gia.calculate_rotational_feedback','values',[0 1]);119 md = checkfield(md,'fieldname','gia.subtract_present_day','values',[0 1]);120 md = checkfield(md,'fieldname','gia.ntime','NaN',1,'Inf',1,'numel',1,'>',0);121 md = checkfield(md,'fieldname','gia.ntheta','NaN',1,'Inf',1,'numel',1,'>',0);122 md = checkfield(md,'fieldname','gia.nphi','numel',1,'values', self.ntheta*2);123 124 %Ice history125 md = checkfield(md,'fieldname','gia.ice_model_identifier', 'stringrow', 1, 'size', [1 3]);126 md = checkfield(md,'fieldname','gia.ice_model_ntime', 'NaN', 1, 'Inf', 1, 'numel', 1);127 md = checkfield(md,'fieldname','gia.nice_sheets', 'NaN', 1, 'Inf', 1, '>', 0, 'numel', 1);128 129 %Earth parameters113 %GIA problem setup 114 md = checkfield(md,'fieldname','gia.forcing_type','NaN',1,'Inf',1,'numel',1,'>',0, '<=', 12); 115 md = checkfield(md,'fieldname','gia.isincompressible','values',[0 1]); 116 md = checkfield(md,'fieldname','gia.benchmark_mode','values',[0 1]); 117 md = checkfield(md,'fieldname','gia.calculate_sea_level','values',[0 1]); 118 md = checkfield(md,'fieldname','gia.calculate_rotational_feedback','values',[0 1]); 119 md = checkfield(md,'fieldname','gia.subtract_present_day','values',[0 1]); 120 md = checkfield(md,'fieldname','gia.ntime','NaN',1,'Inf',1,'numel',1,'>',0); 121 md = checkfield(md,'fieldname','gia.ntheta','NaN',1,'Inf',1,'numel',1,'>',0); 122 md = checkfield(md,'fieldname','gia.nphi','numel',1,'values', self.ntheta*2); 123 124 %Ice history 125 md = checkfield(md,'fieldname','gia.ice_model_identifier', 'stringrow', 1, 'size', [1 3]); 126 md = checkfield(md,'fieldname','gia.ice_model_ntime', 'NaN', 1, 'Inf', 1, 'numel', 1); 127 md = checkfield(md,'fieldname','gia.nice_sheets', 'NaN', 1, 'Inf', 1, '>', 0, 'numel', 1); 128 129 %Earth parameters 130 130 md = checkfield(md,'fieldname','gia.numlayers','NaN',1,'Inf',1,'>',0,'numel',1); 131 131 md = checkfield(md,'fieldname','gia.radius','NaN',1,'Inf',1,'size',[md.gia.numlayers 1],'>',0); … … 141 141 function disp(self) % {{{ 142 142 disp(sprintf(' giacaron parameters:')); 143 144 % Physical constants145 fielddisplay(self,'gravitational_constant', 'Newton''s Gravitational constant, should be equal to approximately 6.67e-11 [m^3.kg^-1.s^-2]');146 fielddisplay(self,'surface_radius','NaN', 'Planet outer surface radius [m]');143 144 % Physical constants 145 fielddisplay(self,'gravitational_constant', 'Newton''s Gravitational constant, should be equal to approximately 6.67e-11 [m^3.kg^-1.s^-2]'); 146 fielddisplay(self,'surface_radius','NaN', 'Planet outer surface radius [m]'); 147 147 fielddisplay(self,'core_mantle_boundary_radius', 'Planet core mantle boundary radius (optional) [m]'); 148 148 fielddisplay(self,'inner_core_boundary_radius','Planet inner core boundary radius (optional) [m]'); … … 151 151 fielddisplay(self,'gravity_norm', 'gravity normalization constant [m.s^-2] (default 10)'); 152 152 153 %Numerical parameters154 fielddisplay(self,'allow_layer_deletion', 'boolean allowing the migration of the starting integration radius while increasing the spherical harmonic degree (default true)');153 %Numerical parameters 154 fielddisplay(self,'allow_layer_deletion', 'boolean allowing the migration of the starting integration radius while increasing the spherical harmonic degree (default true)'); 155 155 fielddisplay(self,'verbose_mode', 'boolean allowing the program to write more details on terminal (default false)') 156 156 157 %GIA problem setup158 fielddisplay(self,'forcing_type','integer indicating the nature and depth of the forcing for the Love number calculation: 1: ICB -- Volumic Potential, 2: ICB -- Pressure, 3: ICB -- Loading, 4: ICB -- Tangential traction, 5: CMB -- Volumic Potential, 6: CMB -- Pressure 7: CMB -- Loading, 8: CMB -- Tangential traction, 9: SURF -- Volumic Potential, 10: SURF -- Pressure, 11: SURF -- Loading, 12: SURF -- Tangential traction (default 11)');159 fielddisplay(self,'isincompressible', 'boolean approximating the mantle rheology to an incompressible body, sets Lame_lambda to 5e14 Pa (default false)');160 fielddisplay(self,'benchmark_mode', 'boolean to enter benchmark mode, writes a lot of outputs from the midst of the calculation (default false)');161 fielddisplay(self,'calculate_sea_level', 'boolean allowing the sea level equation solving (default false)');162 fielddisplay(self,'calculate_rotational_feedback', 'boolean allowing the calculation of rotational feedback (default true)');163 fielddisplay(self,'subtract_present_day', 'boolean, subtracts the present day signal so the calculation is expressed as the difference with the present-day topography, geoid and sea level (default true)');164 fielddisplay(self,'ntime', 'number of time steps')165 fielddisplay(self,'ntheta', 'size of grid in latitude')166 fielddisplay(self,'nphi', 'size of grid in longitude (should always be ntheta*2)');167 168 %Ice history169 fielddisplay(self,'ice_model_identifier', 'string identifier for the ice model (3 characters)')170 fielddisplay(self,'ice_model_ntime', 'number of time steps in the original ice model, is used to interpolate the model on the desired time')171 fielddisplay(self,'nice_sheets', 'number of ice regions to be scaled independently')172 173 %Earth parameters157 %GIA problem setup 158 fielddisplay(self,'forcing_type','integer indicating the nature and depth of the forcing for the Love number calculation: 1: ICB -- Volumic Potential, 2: ICB -- Pressure, 3: ICB -- Loading, 4: ICB -- Tangential traction, 5: CMB -- Volumic Potential, 6: CMB -- Pressure 7: CMB -- Loading, 8: CMB -- Tangential traction, 9: SURF -- Volumic Potential, 10: SURF -- Pressure, 11: SURF -- Loading, 12: SURF -- Tangential traction (default 11)'); 159 fielddisplay(self,'isincompressible', 'boolean approximating the mantle rheology to an incompressible body, sets Lame_lambda to 5e14 Pa (default false)'); 160 fielddisplay(self,'benchmark_mode', 'boolean to enter benchmark mode, writes a lot of outputs from the midst of the calculation (default false)'); 161 fielddisplay(self,'calculate_sea_level', 'boolean allowing the sea level equation solving (default false)'); 162 fielddisplay(self,'calculate_rotational_feedback', 'boolean allowing the calculation of rotational feedback (default true)'); 163 fielddisplay(self,'subtract_present_day', 'boolean, subtracts the present day signal so the calculation is expressed as the difference with the present-day topography, geoid and sea level (default true)'); 164 fielddisplay(self,'ntime', 'number of time steps') 165 fielddisplay(self,'ntheta', 'size of grid in latitude') 166 fielddisplay(self,'nphi', 'size of grid in longitude (should always be ntheta*2)'); 167 168 %Ice history 169 fielddisplay(self,'ice_model_identifier', 'string identifier for the ice model (3 characters)') 170 fielddisplay(self,'ice_model_ntime', 'number of time steps in the original ice model, is used to interpolate the model on the desired time') 171 fielddisplay(self,'nice_sheets', 'number of ice regions to be scaled independently') 172 173 %Earth parameters 174 174 fielddisplay(self,'numlayers','number of layers (default 5)'); 175 175 fielddisplay(self,'radius','array describing the radius for each interface (numlayers+1) [m]'); … … 189 189 WriteData(fid,prefix,'object',self,'fieldname','lithosphere_thickness','format','DoubleMat','mattype',1,'scale',10^3); %from km to m 190 190 WriteData(fid,prefix,'object',self,'fieldname','cross_section_shape','format','Integer'); 191 192 %Physical constants191 192 %Physical constants 193 193 WriteData(fid,prefix,'object',self,'fieldname','gravitational_constant','format','Double'); 194 194 WriteData(fid,prefix,'object',self,'fieldname','surface_radius ','format','Double'); … … 198 198 WriteData(fid,prefix,'object',self,'fieldname','gravity_norm','format','Double'); 199 199 WriteData(fid,prefix,'object',self,'fieldname','radius_norm','format','Double'); 200 201 %Numerical parameters200 201 %Numerical parameters 202 202 WriteData(fid,prefix,'object',self,'fieldname','allow_layer_deletion','format','Boolean'); 203 203 WriteData(fid,prefix,'object',self,'fieldname','verbose_mode','format','Boolean'); 204 205 %GIA problem setup204 205 %GIA problem setup 206 206 WriteData(fid,prefix,'object',self,'fieldname','forcing_type','format','Integer'); 207 207 WriteData(fid,prefix,'object',self,'fieldname','isincompressible','format','Boolean'); … … 213 213 WriteData(fid,prefix,'object',self,'fieldname','ntheta','format','Integer'); 214 214 WriteData(fid,prefix,'object',self,'fieldname','nphi','format','Integer'); 215 216 %Earth model215 216 %Earth model 217 217 WriteData(fid,prefix,'object',self,'fieldname','numlayers','format','Double'); 218 218 WriteData(fid,prefix,'object',self,'fieldname','radius','format','DoubleMat','mattype',1); … … 225 225 WriteData(fid,prefix,'object',self,'fieldname','transient_viscosity','format','DoubleMat','mattype',1); 226 226 WriteData(fid,prefix,'object',self,'fieldname','transient_mu','format','DoubleMat','mattype',1); 227 228 %Inversion229 % dataset_type_dentifier= NaN227 228 %Inversion 229 % dataset_type_dentifier= NaN 230 230 WriteData(fid,prefix,'object',self,'fieldname','ndata_std','format','Integer'); 231 231 WriteData(fid,prefix,'object',self,'fieldname','ndata_minimum_val ','format','Integer'); … … 235 235 WriteData(fid,prefix,'object',self,'fieldname','ice_coefficients_solving ','format','String'); 236 236 WriteData(fid,prefix,'object',self,'fieldname','ninverse_parameters','format','Integer'); 237 238 %Ice history237 238 %Ice history 239 239 WriteData(fid,prefix,'object',self,'fieldname','ice_model_identifier','format','String'); 240 240 WriteData(fid,prefix,'object',self,'fieldname','ice_model_ntime','format','Integer'); … … 243 243 function savemodeljs(self,fid,modelname) % {{{ 244 244 245 %Physical constants245 %Physical constants 246 246 writejsdouble(fid,[modelname '.gia.gravitational_constant'],self.gravitational_constant); 247 247 writejsdouble(fid,[modelname '.gia.surface_radius'],self.surface_radius); … … 251 251 writejsdouble(fid,[modelname '.gia.gravity_norm'],self.gravity_norm); 252 252 writejsdouble(fid,[modelname '.gia.radius_norm'],self.radius_norm); 253 254 %Numerical parameters253 254 %Numerical parameters 255 255 writejsdouble(fid,[modelname '.gia.allow_layer_deletion'],self.allow_layer_deletion); 256 256 writejsdouble(fid,[modelname '.gia.verbose_mode'],self.verbose_mode); 257 258 %GIA problem setup257 258 %GIA problem setup 259 259 writejsdouble(fid,[modelname '.gia.forcing_type'],self.forcing_type); 260 260 writejsdouble(fid,[modelname '.gia.isincompressible'],self.isincompressible); … … 266 266 writejsdouble(fid,[modelname '.gia.ntheta'],self.ntheta); 267 267 writejsdouble(fid,[modelname '.gia.nphi'],self.nphi); 268 269 %Earth model268 269 %Earth model 270 270 writejsdouble(fid,[modelname '.gia.numlayers'],self.numlayers); 271 271 writejsdouble(fid,[modelname '.gia.radius'],self.radius); … … 278 278 writejsdouble(fid,[modelname '.gia.transient_viscosity'],self.transient_viscosity); 279 279 writejsdouble(fid,[modelname '.gia.transient_mu'],self.transient_mu); 280 281 %Inversion282 % dataset_type_dentifier= NaN280 281 %Inversion 282 % dataset_type_dentifier= NaN 283 283 % writejsdouble(fid,[modelname '.gia.ndata_std'],self.ndata_std); 284 284 % writejsdouble(fid,[modelname '.gia.ndata_minimum_val'],self.ndata_minimum_val); … … 288 288 % writejsdouble(fid,[modelname '.gia.ice_coefficients_solving'],self.ice_coefficients_solving); 289 289 % writejsdouble(fid,[modelname '.gia.ninverse_parameters'],self.ninverse_parameters); 290 291 %Ice history290 291 %Ice history 292 292 writejsdouble(fid,[modelname '.gia.ice_model_identifier'],self.ice_model_identifier); 293 293 writejsdouble(fid,[modelname '.gia.ice_model_ntime'],self.ice_model_ntime);  - 
      
issm/trunk-jpl/src/m/classes/giaivins.py
r25129 r25136 29 29 30 30 def __repr__(self): #{{{ 31 s = ' giaivins solution parameters:'32 s += "{}\n".format(fielddisplay(self, 'mantle_viscosity', 'mantle viscosity constraints (NaN means no constraint) (Pa s)'))33 s += "{}\n".format(fielddisplay(self, 'lithosphere_thickness', 'lithosphere thickness constraints (NaN means no constraint) (m)'))34 s += "{}\n".format(fielddisplay(self, 'cross_section_shape', "1: square-edged , 2: elliptical-sedged surface"))31 s = ' giaivins parameters:\n' 32 s += "{}\n".format(fielddisplay(self, 'mantle_viscosity', 'mantle viscosity [Pa s]')) 33 s += "{}\n".format(fielddisplay(self, 'lithosphere_thickness', 'lithosphere thickness (km)')) 34 s += "{}\n".format(fielddisplay(self, 'cross_section_shape', "1: square-edged (default). 2: elliptical. See iedge in GiaDeflectionCore")) 35 35 36 36 return s  - 
      
issm/trunk-jpl/src/m/classes/model.py
r25129 r25136 182 182 def __repr__(obj): #{{{ 183 183 #print "Here %s the number: %d" % ("is", 37) 184 string = "%19s: % - 22s - - %s" % ("mesh", "[%s, %s]" % ("1x1", obj.mesh.__class__.__name__), "mesh properties")185 string = "%s\n%s" % (string, "%19s: % - 22s - - %s" % ("mask", "[%s, %s]" % ("1x1", obj.mask.__class__.__name__), "defines grounded and floating elements"))186 string = "%s\n%s" % (string, "%19s: % - 22s - - %s" % ("geometry", "[%s, %s]" % ("1x1", obj.geometry.__class__.__name__), "surface elevation, bedrock topography, ice thickness, ..."))187 string = "%s\n%s" % (string, "%19s: % - 22s - - %s" % ("constants", "[%s, %s]" % ("1x1", obj.constants.__class__.__name__), "physical constants"))188 string = "%s\n%s" % (string, "%19s: % - 22s - - %s" % ("smb", "[%s, %s]" % ("1x1", obj.smb.__class__.__name__), "surface mass balance"))189 string = "%s\n%s" % (string, "%19s: % - 22s - - %s" % ("basalforcings", "[%s, %s]" % ("1x1", obj.basalforcings.__class__.__name__), "bed forcings"))190 string = "%s\n%s" % (string, "%19s: % - 22s - - %s" % ("materials", "[%s, %s]" % ("1x1", obj.materials.__class__.__name__), "material properties"))191 string = "%s\n%s" % (string, "%19s: % - 22s - - %s" % ("damage", "[%s, %s]" % ("1x1", obj.damage.__class__.__name__), "damage propagation laws"))192 string = "%s\n%s" % (string, "%19s: % - 22s - - %s" % ("friction", "[%s, %s]" % ("1x1", obj.friction.__class__.__name__), "basal friction / drag properties"))193 string = "%s\n%s" % (string, "%19s: % - 22s - - %s" % ("flowequation", "[%s, %s]" % ("1x1", obj.flowequation.__class__.__name__), "flow equations"))194 string = "%s\n%s" % (string, "%19s: % - 22s - - %s" % ("timestepping", "[%s, %s]" % ("1x1", obj.timestepping.__class__.__name__), "time stepping for transient models"))195 string = "%s\n%s" % (string, "%19s: % - 22s - - %s" % ("initialization", "[%s, %s]" % ("1x1", obj.initialization.__class__.__name__), "initial guess / state"))196 string = "%s\n%s" % (string, "%19s: % - 22s - - %s" % ("rifts", "[%s, %s]" % ("1x1", obj.rifts.__class__.__name__), "rifts properties"))197 string = "%s\n%s" % (string, "%19s: % - 22s - - %s" % ("solidearth", "[%s, %s]" % ("1x1", obj.solidearth.__class__.__name__), "solid earth inputs and settings"))198 string = "%s\n%s" % (string, "%19s: % - 22s - - %s" % ("dsl", "[%s, %s]" % ("1x1", obj.dsl.__class__.__name__), "dynamic sea level"))199 string = "%s\n%s" % (string, "%19s: % - 22s - - %s" % ("debug", "[%s, %s]" % ("1x1", obj.debug.__class__.__name__), "debugging tools (valgrind, gprof)"))200 string = "%s\n%s" % (string, "%19s: % - 22s - - %s" % ("verbose", "[%s, %s]" % ("1x1", obj.verbose.__class__.__name__), "verbosity level in solve"))201 string = "%s\n%s" % (string, "%19s: % - 22s - - %s" % ("settings", "[%s, %s]" % ("1x1", obj.settings.__class__.__name__), "settings properties"))202 string = "%s\n%s" % (string, "%19s: % - 22s - - %s" % ("toolkits", "[%s, %s]" % ("1x1", obj.toolkits.__class__.__name__), "PETSc options for each solution"))203 string = "%s\n%s" % (string, "%19s: % - 22s - - %s" % ("cluster", "[%s, %s]" % ("1x1", obj.cluster.__class__.__name__), "cluster parameters (number of cpus...)"))204 string = "%s\n%s" % (string, "%19s: % - 22s - - %s" % ("balancethickness", "[%s, %s]" % ("1x1", obj.balancethickness.__class__.__name__), "parameters for balancethickness solution"))205 string = "%s\n%s" % (string, "%19s: % - 22s - - %s" % ("stressbalance", "[%s, %s]" % ("1x1", obj.stressbalance.__class__.__name__), "parameters for stressbalance solution"))206 string = "%s\n%s" % (string, "%19s: % - 22s - - %s" % ("groundingline", "[%s, %s]" % ("1x1", obj.groundingline.__class__.__name__), "parameters for groundingline solution"))207 string = "%s\n%s" % (string, "%19s: % - 22s - - %s" % ("hydrology", "[%s, %s]" % ("1x1", obj.hydrology.__class__.__name__), "parameters for hydrology solution"))208 string = "%s\n%s" % (string, "%19s: % - 22s - - %s" % ("masstransport", "[%s, %s]" % ("1x1", obj.masstransport.__class__.__name__), "parameters for masstransport solution"))209 string = "%s\n%s" % (string, "%19s: % - 22s - - %s" % ("thermal", "[%s, %s]" % ("1x1", obj.thermal.__class__.__name__), "parameters for thermal solution"))210 string = "%s\n%s" % (string, "%19s: % - 22s - - %s" % ("steadystate", "[%s, %s]" % ("1x1", obj.steadystate.__class__.__name__), "parameters for steadystate solution"))211 string = "%s\n%s" % (string, "%19s: % - 22s - - %s" % ("transient", "[%s, %s]" % ("1x1", obj.transient.__class__.__name__), "parameters for transient solution"))212 string = "%s\n%s" % (string, "%19s: % - 22s - - %s" % ("levelset", "[%s, %s]" % ("1x1", obj.levelset.__class__.__name__), "parameters for moving boundaries (level - set method)"))213 string = "%s\n%s" % (string, "%19s: % - 22s - - %s" % ("calving", "[%s, %s]" % ("1x1", obj.calving.__class__.__name__), "parameters for calving"))214 string = "%s\n%s" % (string, "%19s: % - 22s - - %s" % ("frontalforcings", "[%s, %s]" % ("1x1", obj.frontalforcings.__class__.__name__), "parameters for frontalforcings"))215 string = "%s\n%s" % (string, "%19s: % - 22s - - %s" % ("gia", "[%s, %s]" % ("1x1", obj.gia.__class__.__name__), "parameters for gia solution"))216 string = "%s\n%s" % (string, '%19s: % - 22s - - %s' % ("love", "[%s, %s]" % ("1x1", obj.love.__class__.__name__), "parameters for love solution"))217 string = "%s\n%s" % (string, '%19s: % - 22s - - %s' % ("esa", "[%s, %s]" % ("1x1", obj.esa.__class__.__name__), "parameters for elastic adjustment solution"))218 string = "%s\n%s" % (string, "%19s: % - 22s - - %s" % ("autodiff", "[%s, %s]" % ("1x1", obj.autodiff.__class__.__name__), "automatic differentiation parameters"))219 string = "%s\n%s" % (string, "%19s: % - 22s - - %s" % ("inversion", "[%s, %s]" % ("1x1", obj.inversion.__class__.__name__), "parameters for inverse methods"))220 string = "%s\n%s" % (string, "%19s: % - 22s - - %s" % ("qmu", "[%s, %s]" % ("1x1", obj.qmu.__class__.__name__), "dakota properties"))221 string = "%s\n%s" % (string, "%19s: % - 22s - - %s" % ("amr", "[%s, %s]" % ("1x1", obj.amr.__class__.__name__), "adaptive mesh refinement properties"))222 string = "%s\n%s" % (string, "%19s: % - 22s - - %s" % ("outputdefinition", "[%s, %s]" % ("1x1", obj.outputdefinition.__class__.__name__), "output definition"))223 string = "%s\n%s" % (string, "%19s: % - 22s - - %s" % ("results", "[%s, %s]" % ("1x1", obj.results.__class__.__name__), "model results"))224 string = "%s\n%s" % (string, "%19s: % - 22s - - %s" % ("radaroverlay", "[%s, %s]" % ("1x1", obj.radaroverlay.__class__.__name__), "radar image for plot overlay"))225 string = "%s\n%s" % (string, "%19s: % - 22s - - %s" % ("miscellaneous", "[%s, %s]" % ("1x1", obj.miscellaneous.__class__.__name__), "miscellaneous fields"))184 string = "%19s: % - 22s -- %s" % ("mesh", "[%s, %s]" % ("1x1", obj.mesh.__class__.__name__), "mesh properties") 185 string = "%s\n%s" % (string, "%19s: % - 22s -- %s" % ("mask", "[%s, %s]" % ("1x1", obj.mask.__class__.__name__), "defines grounded and floating elements")) 186 string = "%s\n%s" % (string, "%19s: % - 22s -- %s" % ("geometry", "[%s, %s]" % ("1x1", obj.geometry.__class__.__name__), "surface elevation, bedrock topography, ice thickness, ...")) 187 string = "%s\n%s" % (string, "%19s: % - 22s -- %s" % ("constants", "[%s, %s]" % ("1x1", obj.constants.__class__.__name__), "physical constants")) 188 string = "%s\n%s" % (string, "%19s: % - 22s -- %s" % ("smb", "[%s, %s]" % ("1x1", obj.smb.__class__.__name__), "surface mass balance")) 189 string = "%s\n%s" % (string, "%19s: % - 22s -- %s" % ("basalforcings", "[%s, %s]" % ("1x1", obj.basalforcings.__class__.__name__), "bed forcings")) 190 string = "%s\n%s" % (string, "%19s: % - 22s -- %s" % ("materials", "[%s, %s]" % ("1x1", obj.materials.__class__.__name__), "material properties")) 191 string = "%s\n%s" % (string, "%19s: % - 22s -- %s" % ("damage", "[%s, %s]" % ("1x1", obj.damage.__class__.__name__), "damage propagation laws")) 192 string = "%s\n%s" % (string, "%19s: % - 22s -- %s" % ("friction", "[%s, %s]" % ("1x1", obj.friction.__class__.__name__), "basal friction / drag properties")) 193 string = "%s\n%s" % (string, "%19s: % - 22s -- %s" % ("flowequation", "[%s, %s]" % ("1x1", obj.flowequation.__class__.__name__), "flow equations")) 194 string = "%s\n%s" % (string, "%19s: % - 22s -- %s" % ("timestepping", "[%s, %s]" % ("1x1", obj.timestepping.__class__.__name__), "time stepping for transient models")) 195 string = "%s\n%s" % (string, "%19s: % - 22s -- %s" % ("initialization", "[%s, %s]" % ("1x1", obj.initialization.__class__.__name__), "initial guess / state")) 196 string = "%s\n%s" % (string, "%19s: % - 22s -- %s" % ("rifts", "[%s, %s]" % ("1x1", obj.rifts.__class__.__name__), "rifts properties")) 197 string = "%s\n%s" % (string, "%19s: % - 22s -- %s" % ("solidearth", "[%s, %s]" % ("1x1", obj.solidearth.__class__.__name__), "solid earth inputs and settings")) 198 string = "%s\n%s" % (string, "%19s: % - 22s -- %s" % ("dsl", "[%s, %s]" % ("1x1", obj.dsl.__class__.__name__), "dynamic sea level")) 199 string = "%s\n%s" % (string, "%19s: % - 22s -- %s" % ("debug", "[%s, %s]" % ("1x1", obj.debug.__class__.__name__), "debugging tools (valgrind, gprof)")) 200 string = "%s\n%s" % (string, "%19s: % - 22s -- %s" % ("verbose", "[%s, %s]" % ("1x1", obj.verbose.__class__.__name__), "verbosity level in solve")) 201 string = "%s\n%s" % (string, "%19s: % - 22s -- %s" % ("settings", "[%s, %s]" % ("1x1", obj.settings.__class__.__name__), "settings properties")) 202 string = "%s\n%s" % (string, "%19s: % - 22s -- %s" % ("toolkits", "[%s, %s]" % ("1x1", obj.toolkits.__class__.__name__), "PETSc options for each solution")) 203 string = "%s\n%s" % (string, "%19s: % - 22s -- %s" % ("cluster", "[%s, %s]" % ("1x1", obj.cluster.__class__.__name__), "cluster parameters (number of cpus...)")) 204 string = "%s\n%s" % (string, "%19s: % - 22s -- %s" % ("balancethickness", "[%s, %s]" % ("1x1", obj.balancethickness.__class__.__name__), "parameters for balancethickness solution")) 205 string = "%s\n%s" % (string, "%19s: % - 22s -- %s" % ("stressbalance", "[%s, %s]" % ("1x1", obj.stressbalance.__class__.__name__), "parameters for stressbalance solution")) 206 string = "%s\n%s" % (string, "%19s: % - 22s -- %s" % ("groundingline", "[%s, %s]" % ("1x1", obj.groundingline.__class__.__name__), "parameters for groundingline solution")) 207 string = "%s\n%s" % (string, "%19s: % - 22s -- %s" % ("hydrology", "[%s, %s]" % ("1x1", obj.hydrology.__class__.__name__), "parameters for hydrology solution")) 208 string = "%s\n%s" % (string, "%19s: % - 22s -- %s" % ("masstransport", "[%s, %s]" % ("1x1", obj.masstransport.__class__.__name__), "parameters for masstransport solution")) 209 string = "%s\n%s" % (string, "%19s: % - 22s -- %s" % ("thermal", "[%s, %s]" % ("1x1", obj.thermal.__class__.__name__), "parameters for thermal solution")) 210 string = "%s\n%s" % (string, "%19s: % - 22s -- %s" % ("steadystate", "[%s, %s]" % ("1x1", obj.steadystate.__class__.__name__), "parameters for steadystate solution")) 211 string = "%s\n%s" % (string, "%19s: % - 22s -- %s" % ("transient", "[%s, %s]" % ("1x1", obj.transient.__class__.__name__), "parameters for transient solution")) 212 string = "%s\n%s" % (string, "%19s: % - 22s -- %s" % ("levelset", "[%s, %s]" % ("1x1", obj.levelset.__class__.__name__), "parameters for moving boundaries (level - set method)")) 213 string = "%s\n%s" % (string, "%19s: % - 22s -- %s" % ("calving", "[%s, %s]" % ("1x1", obj.calving.__class__.__name__), "parameters for calving")) 214 string = "%s\n%s" % (string, "%19s: % - 22s -- %s" % ("frontalforcings", "[%s, %s]" % ("1x1", obj.frontalforcings.__class__.__name__), "parameters for frontalforcings")) 215 string = "%s\n%s" % (string, "%19s: % - 22s -- %s" % ("gia", "[%s, %s]" % ("1x1", obj.gia.__class__.__name__), "parameters for gia solution")) 216 string = "%s\n%s" % (string, '%19s: % - 22s -- %s' % ("love", "[%s, %s]" % ("1x1", obj.love.__class__.__name__), "parameters for love solution")) 217 string = "%s\n%s" % (string, '%19s: % - 22s -- %s' % ("esa", "[%s, %s]" % ("1x1", obj.esa.__class__.__name__), "parameters for elastic adjustment solution")) 218 string = "%s\n%s" % (string, "%19s: % - 22s -- %s" % ("autodiff", "[%s, %s]" % ("1x1", obj.autodiff.__class__.__name__), "automatic differentiation parameters")) 219 string = "%s\n%s" % (string, "%19s: % - 22s -- %s" % ("inversion", "[%s, %s]" % ("1x1", obj.inversion.__class__.__name__), "parameters for inverse methods")) 220 string = "%s\n%s" % (string, "%19s: % - 22s -- %s" % ("qmu", "[%s, %s]" % ("1x1", obj.qmu.__class__.__name__), "dakota properties")) 221 string = "%s\n%s" % (string, "%19s: % - 22s -- %s" % ("amr", "[%s, %s]" % ("1x1", obj.amr.__class__.__name__), "adaptive mesh refinement properties")) 222 string = "%s\n%s" % (string, "%19s: % - 22s -- %s" % ("outputdefinition", "[%s, %s]" % ("1x1", obj.outputdefinition.__class__.__name__), "output definition")) 223 string = "%s\n%s" % (string, "%19s: % - 22s -- %s" % ("results", "[%s, %s]" % ("1x1", obj.results.__class__.__name__), "model results")) 224 string = "%s\n%s" % (string, "%19s: % - 22s -- %s" % ("radaroverlay", "[%s, %s]" % ("1x1", obj.radaroverlay.__class__.__name__), "radar image for plot overlay")) 225 string = "%s\n%s" % (string, "%19s: % - 22s -- %s" % ("miscellaneous", "[%s, %s]" % ("1x1", obj.miscellaneous.__class__.__name__), "miscellaneous fields")) 226 226 return string 227 227 # }}}  - 
      
issm/trunk-jpl/src/m/classes/sealevelmodel.m
r25125 r25136 308 308 end % }}} 309 309 function addicecap(self,md) % {{{ 310 if ~strcmpi(class(md),'model')311 error('addicecap method only takes a ''model'' class object as input');312 end313 self.icecaps{end+1}=md;310 if ~strcmpi(class(md),'model') 311 error('addicecap method only takes a ''model'' class object as input'); 312 end 313 self.icecaps{end+1}=md; 314 314 end % }}} 315 315 function basinsplot3d(self,varargin) % {{{ 316 for i=1:length(self.basins),317 self.basins{i}.plot3d(varargin{:});318 end316 for i=1:length(self.basins), 317 self.basins{i}.plot3d(varargin{:}); 318 end 319 319 end % }}} 320 320 function caticecaps(self,varargin) % {{{  - 
      
issm/trunk-jpl/src/m/miscellaneous/fielddisplay.py
r24255 r25136 121 121 #take care of characterization 122 122 if m.strcmp(characterization, "''") or m.strcmp(characterization, '""') or m.strcmpi(characterization, 'nan'): 123 characterization = "N /A"123 characterization = "N/A" 124 124 125 125 if len(characterization) > 15: … … 131 131 else: 132 132 if isinstance(comment, str): 133 string = "%s% - 23s: % - 15s - -%s" % (offset, name, characterization, comment)133 string = "%s% - 23s: % - 15s -- %s" % (offset, name, characterization, comment) 134 134 elif isinstance(comment, list): 135 string = "%s% - 23s: % - 15s - -%s" % (offset, name, characterization, comment[0])135 string = "%s% - 23s: % - 15s -- %s" % (offset, name, characterization, comment[0]) 136 136 for commenti in comment: 137 137 string += "\n%s% - 23s % - 15s %s" % (offset, '', '', commenti)  
  Note:
 See   TracChangeset
 for help on using the changeset viewer.
  ![(please configure the [header_logo] section in trac.ini)](/trac/issm/chrome/common/trac_banner.png)