Changeset 27417
- Timestamp:
- 11/24/22 00:49:18 (2 years ago)
- Location:
- issm/trunk-jpl
- Files:
-
- 2 added
- 27 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/m/archive/arch.py
r26358 r27417 12 12 """ 13 13 14 nargs = len(args) 15 if nargs % 2 != 0: 14 if len(args) % 2 != 0: 16 15 raise ValueError('Incorrect number of arguments.') 17 16 # open file -
issm/trunk-jpl/src/m/classes/SMBarma.m
r27403 r27417 100 100 end 101 101 if (any(isnan(md.smb.refelevation)==0) || numel(md.smb.refelevation)>1) 102 103 102 md = checkfield(md,'fieldname','smb.refelevation','NaN',1,'Inf',1,'>=',0,'size',[1,md.smb.num_basins],'numel',md.smb.num_basins); 103 end 104 104 [nbas,nbins] = size(md.smb.lapserates); 105 105 if (any(isnan(reshape(md.smb.lapserates,[1,nbas*nbins]))==0) || numel(md.smb.lapserates)>1) … … 126 126 fielddisplay(self,'basin_id','basin number assigned to each element [unitless]'); 127 127 fielddisplay(self,'num_breaks','number of different breakpoints in the piecewise-polynomial (separating num_breaks+1 periods)'); 128 129 130 128 fielddisplay(self,'num_params','number of different parameters in the piecewise-polynomial (1:intercept only, 2:with linear trend, 3:with quadratic trend, etc.)'); 129 fielddisplay(self,'polynomialparams','coefficients for the polynomial (const,trend,quadratic,etc.),dim1 for basins,dim2 for periods,dim3 for orders'); 130 disp(sprintf('%51s ex: polyparams=cat(3,intercepts,trendlinearcoefs,trendquadraticcoefs)',' ')); 131 131 fielddisplay(self,'datebreaks','dates at which the breakpoints in the piecewise polynomial occur (1 row per basin) [yr]'); 132 132 fielddisplay(self,'ar_order','order of the autoregressive model [unitless]'); … … 150 150 yts=md.constants.yts; 151 151 nbas = md.smb.num_basins; 152 153 152 nprm = md.smb.num_params; 153 nper = md.smb.num_breaks+1; 154 154 155 155 templapserates = md.smb.lapserates; … … 180 180 181 181 % Scale the parameters % 182 183 182 polyparamsScaled = md.smb.polynomialparams; 183 polyparams2dScaled = zeros(nbas,nper*nprm); 184 184 if(nprm>1) 185 185 % Case 3D % -
issm/trunk-jpl/src/m/classes/SMBarma.py
r27403 r27417 30 30 self.requested_outputs = [] 31 31 32 nargs = len(args) 33 if nargs == 0: 32 if len(args) == 0: 34 33 self.setdefaultparameters() 35 34 else: -
issm/trunk-jpl/src/m/classes/SMBcomponents.py
r27415 r27417 22 22 self.requested_outputs = [] 23 23 24 nargs = len(args) 25 if nargs == 0: 24 if len(args) == 0: 26 25 self.setdefaultparameters() 27 26 else: -
issm/trunk-jpl/src/m/classes/SMBforcing.py
r27414 r27417 20 20 self.averaging = 0 21 21 22 nargs = len(args) 23 if nargs == 0: 22 if len(args) == 0: 24 23 self.setdefaultparameters() 25 24 else: -
issm/trunk-jpl/src/m/classes/SMBpddSicopolis.py
r27415 r27417 31 31 self.requested_outputs = [] 32 32 33 nargs = len(args) 34 if nargs == 0: 33 if len(args) == 0: 35 34 self.setdefaultparameters() 36 35 else: -
issm/trunk-jpl/src/m/classes/debris.m
r27324 r27417 6 6 classdef debris 7 7 properties (SetAccess=public) 8 spcthickness= NaN;9 min_thickness= 0;10 stabilization= 0;11 packingfraction= 0;12 removalmodel= 0;13 displacementmodel= 0;14 removal_slope_threshold= 0;15 removal_stress_threshold=0;16 vertex_pairing= NaN;17 requested_outputs= {};8 spcthickness = NaN; 9 min_thickness = 0; 10 stabilization = 0; 11 packingfraction = 0; 12 removalmodel = 0; 13 displacementmodel = 0; 14 removal_slope_threshold = 0; 15 removal_stress_threshold = 0; 16 vertex_pairing = NaN; 17 requested_outputs = {}; 18 18 end 19 19 methods (Static) … … 23 23 % old fields must be recovered (make sure they are in the deprecated 24 24 % model properties) 25 26 27 25 28 26 if verLessThan('matlab','7.9'), … … 89 87 90 88 %Slope threshold for removalmodel (1) 91 92 89 self.removal_slope_threshold=0; 90 93 91 %Stress threshold for removalmodel (2) 94 92 self.removal_stress_threshold=0; … … 100 98 101 99 %Early return 102 if ~ismember('MasstransportAnalysis',analyses) | 100 if ~ismember('MasstransportAnalysis',analyses) | (strcmp(solution,'TransientSolution') & md.transient.isdebris==0), return; end 103 101 104 102 md = checkfield(md,'fieldname','debris.spcthickness'); … … 116 114 end % }}} 117 115 function disp(self) % {{{ 118 disp(sprintf(' Debris solution parameters:'));116 disp(sprintf(' debris solution parameters:')); 119 117 fielddisplay(self,'spcthickness','debris thickness constraints (NaN means no constraint) [m]'); 120 118 fielddisplay(self,'min_thickness','minimum debris thickness allowed [m]'); … … 132 130 end % }}} 133 131 function marshall(self,prefix,md,fid) % {{{ 134 135 yts=md.constants.yts;136 137 132 WriteData(fid,prefix,'object',self,'fieldname','spcthickness','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts); 138 133 WriteData(fid,prefix,'object',self,'fieldname','min_thickness','format','Double'); -
issm/trunk-jpl/src/m/classes/dslmme.py
r26358 r27417 18 18 self.sea_water_pressure_at_sea_floor = [] #Corresponds to bpo field in CMIP5 archives. Specified as a spatio-temporally variable quantity (in m equivalent, not in Pa!) for each ensemble. 19 19 20 nargs = len(args) 21 22 if nargs == 0: 20 if len(args) == 0: 23 21 self.setdefaultparameters() 24 22 else: -
issm/trunk-jpl/src/m/classes/frontalforcings.py
r24213 r27417 15 15 def __init__(self): # {{{ 16 16 self.meltingrate = float('NaN') 17 self.ablationrate = float('NaN') 17 18 18 #set defaults19 19 self.setdefaultparameters() 20 20 #}}} 21 21 22 22 def __repr__(self): # {{{ 23 string = ' Frontalforcings parameters:' 24 string = "%s\n%s" % (string, fielddisplay(self, 'meltingrate', 'melting rate at given location [m / a]')) 23 s = ' Frontalforcings parameters:' 24 s += '{}\n'.format(fielddisplay(self, 'meltingrate', 'melting rate at given location [m/a]')) 25 s += '{}\n'.format(fielddisplay(self, 'ablationrate', 'frontal ablation rate at given location [m/a], it contains both calving and melting')) 25 26 26 return s tring27 return s 27 28 #}}} 28 29 29 30 def extrude(self, md): # {{{ 30 31 self.meltingrate = project3d(md, 'vector', self.meltingrate, 'type', 'node') 32 self.ablationrate = project3d(md, 'vector', self.ablationrate, 'type', 'node') 31 33 return self 32 34 #}}} 33 35 34 36 def setdefaultparameters(self): # {{{ 37 self.meltingrate = float('NaN') 38 self.ablationrate = float('NaN') 35 39 return self 36 40 #}}} … … 42 46 43 47 md = checkfield(md, 'fieldname', 'frontalforcings.meltingrate', 'NaN', 1, 'Inf', 1, 'timeseries', 1, '>=', 0) 48 if not np.isnan(md.frontalforcings.ablationrate): 49 md = checkfield(md, 'fieldname', 'frontalforcings.ablationrate', 'NaN', 1, 'Inf', 1, 'timeseries', 1) 44 50 return md 45 51 # }}} … … 49 55 WriteData(fid, prefix, 'name', 'md.frontalforcings.parameterization', 'data', 1, 'format', 'Integer') 50 56 WriteData(fid, prefix, 'object', self, 'fieldname', 'meltingrate', 'format', 'DoubleMat', 'mattype', 1, 'timeserieslength', md.mesh.numberofvertices + 1, 'yts', yts, 'scale', 1. / yts) 57 if not np.isnan(md.frontalforcings.ablationrate): 58 WriteData(fid, prefix, 'object', self, 'fieldname', 'ablationrate', 'format', 'DoubleMat', 'mattype', 1, 'timeserieslength', md.mesh.numberofvertices + 1, 'yts', yts, 'scale', 1. / yts) 51 59 # }}} -
issm/trunk-jpl/src/m/classes/levelset.py
r26421 r27417 56 56 57 57 md = checkfield(md, 'fieldname', 'levelset.spclevelset', 'Inf', 1, 'timeseries', 1) 58 md = checkfield(md, 'fieldname', 'levelset.stabilization', 'numel', [1], 'values', [0, 1, 2, 5 ])58 md = checkfield(md, 'fieldname', 'levelset.stabilization', 'numel', [1], 'values', [0, 1, 2, 5, 6]) 59 59 md = checkfield(md, 'fieldname', 'levelset.kill_icebergs', 'numel', [1], 'values', [0, 1]) 60 60 md = checkfield(md, 'fieldname', 'levelset.migration_max', 'numel', [1], 'NaN', 1, 'Inf', 1, '>', 0) -
issm/trunk-jpl/src/m/classes/linearbasalforcingsarma.py
r27318 r27417 31 31 self.geothermalflux = np.nan 32 32 33 nargs = len(args) 34 if nargs == 0: 33 if len(args) == 0: 35 34 self.setdefaultparameters() 36 35 else: -
issm/trunk-jpl/src/m/classes/lovenumbers.m
r26828 r27417 11 11 12 12 %loading love numbers: 13 h 14 k 15 l 13 h = []; %provided by PREM model 14 k = []; %idem 15 l = []; %idem 16 16 17 17 %tidal love numbers for computing rotational feedback: … … 24 24 25 25 %time/frequency for visco-elastic love numbers 26 timefreq = [];27 istime = 1;26 timefreq = []; 27 istime = 1; 28 28 29 29 end … … 65 65 66 66 %secular fluid love number: 67 self.tk2secular=0.942; 67 self.tk2secular=0.942; 68 68 69 69 self.pmtf_colinear=0.0; 70 70 self.pmtf_ortho=0.0; 71 71 if maxdeg>=2 72 self.pmtf_colinear= 73 self.pmtf_ortho= 72 self.pmtf_colinear=(1.0+self.k(3,:))/(1.0-self.tk(3,:)/self.tk2secular); %valid only for elastic regime, not viscous. Also neglects chandler wobble 73 self.pmtf_ortho=0.0; 74 74 end 75 75 %time: -
issm/trunk-jpl/src/m/classes/lovenumbers.py
r26840 r27417 31 31 self.pmtf_colinear = [] 32 32 self.pmtf_ortho = [] 33 pmtf_colinear = []34 pmtf_ortho = []35 33 36 34 # Time/frequency for visco-elastic love numbers … … 73 71 # Secular fluid love number 74 72 self.tk2secular = 0.942 75 self.pmtf_colinear=0.076 self.pmtf_ortho=0.077 if maxdeg>=2:78 self.pmtf_colinear= (1.0+self.k[3-1,:])/(1.0-self.tk[3-1,:]/self.tk2secular) #valid only for elastic regime, not viscous. Also neglects chandler wobble79 self.pmtf_ortho= 0.080 73 81 74 self.pmtf_colinear = np.array([0.0]).reshape(-1, 1) … … 131 124 WriteData(fid, prefix, 'object', self, 'fieldname', 'tk', 'name', 'md.solidearth.lovenumbers.tk', 'format', 'DoubleMat', 'mattype', 1) 132 125 WriteData(fid, prefix, 'object', self, 'fieldname', 'tl', 'name', 'md.solidearth.lovenumbers.tl', 'format', 'DoubleMat', 'mattype', 1) 133 WriteData(fid, prefix, 'object', self, 'fieldname', 'pmtf_colinear', 'name', 'md.solidearth.lovenumbers.pmtf_colinear', 'format', 'DoubleMat', 'mattype',1)134 WriteData(fid, prefix, 'object', self, 'fieldname', 'pmtf_ortho', 'name', 'md.solidearth.lovenumbers.pmtf_ortho', 'format', 'DoubleMat', 'mattype',1)126 WriteData(fid, prefix, 'object', self, 'fieldname', 'pmtf_colinear','name','md.solidearth.lovenumbers.pmtf_colinear','format','DoubleMat','mattype',1) 127 WriteData(fid, prefix, 'object', self, 'fieldname', 'pmtf_ortho','name','md.solidearth.lovenumbers.pmtf_ortho','format','DoubleMat','mattype',1) 135 128 WriteData(fid, prefix, 'object', self, 'data', self.tk2secular, 'fieldname', 'lovenumbers.tk2secular', 'format', 'Double') 136 WriteData(fid, prefix, 'object', self, 'fieldname', 'pmtf_colinear','name','md.solidearth.lovenumbers.pmtf_colinear','format','DoubleMat','mattype',1);137 WriteData(fid, prefix, 'object', self, 'fieldname', 'pmtf_ortho','name','md.solidearth.lovenumbers.pmtf_ortho','format','DoubleMat','mattype',1);138 129 139 130 if (self.istime): … … 144 135 WriteData(fid, prefix, 'object', self, 'fieldname', 'timefreq', 'name', 'md.solidearth.lovenumbers.timefreq', 'format', 'DoubleMat', 'mattype', 1, 'scale', scale); 145 136 #}}} 146 137 147 138 def extrude(self, md): #{{{ 148 139 return 149 #}}}140 #}}} -
issm/trunk-jpl/src/m/classes/mesh3dsurface.py
r25499 r27417 40 40 41 41 nargs = len(args) 42 if n ot nargs:42 if nargs == 0: 43 43 self.setdefaultparameters() 44 44 elif nargs == 1: -
issm/trunk-jpl/src/m/classes/model.m
r27359 r27417 35 35 groundingline = 0; 36 36 hydrology = 0; 37 debris 37 debris = 0; 38 38 masstransport = 0; 39 39 thermal = 0; … … 214 214 %}}} 215 215 function disp(self) % {{{ 216 disp(sprintf('%19s: %-2 2s -- %s','mesh' ,['[1x1 ' class(self.mesh) ']'],'mesh properties'));217 disp(sprintf('%19s: %-2 2s -- %s','mask' ,['[1x1 ' class(self.mask) ']'],'defines grounded and floating elements'));218 disp(sprintf('%19s: %-2 2s -- %s','geometry' ,['[1x1 ' class(self.geometry) ']'],'surface elevation, bedrock topography, ice thickness,...'));219 disp(sprintf('%19s: %-2 2s -- %s','constants' ,['[1x1 ' class(self.constants) ']'],'physical constants'));220 disp(sprintf('%19s: %-2 2s -- %s','smb' ,['[1x1 ' class(self.smb) ']'],'surface mass balance'));221 disp(sprintf('%19s: %-2 2s -- %s','basalforcings' ,['[1x1 ' class(self.basalforcings) ']'],'bed forcings'));222 disp(sprintf('%19s: %-2 2s -- %s','materials' ,['[1x1 ' class(self.materials) ']'],'material properties'));223 disp(sprintf('%19s: %-2 2s -- %s','damage' ,['[1x1 ' class(self.damage) ']'],'parameters for damage evolution solution'));224 disp(sprintf('%19s: %-2 2s -- %s','friction' ,['[1x1 ' class(self.friction) ']'],'basal friction/drag properties'));225 disp(sprintf('%19s: %-2 2s -- %s','flowequation' ,['[1x1 ' class(self.flowequation) ']'],'flow equations'));226 disp(sprintf('%19s: %-2 2s -- %s','timestepping' ,['[1x1 ' class(self.timestepping) ']'],'time stepping for transient models'));227 disp(sprintf('%19s: %-2 2s -- %s','initialization' ,['[1x1 ' class(self.initialization) ']'],'initial guess/state'));228 disp(sprintf('%19s: %-2 2s -- %s','rifts' ,['[1x1 ' class(self.rifts) ']'],'rifts properties'));229 disp(sprintf('%19s: %-2 2s -- %s','solidearth' ,['[1x1 ' class(self.solidearth) ']'],'solidearth inputs and settings'));230 disp(sprintf('%19s: %-2 2s -- %s','dsl' ,['[1x1 ' class(self.dsl) ']'],'dynamic sea-level '));231 disp(sprintf('%19s: %-2 2s -- %s','debug' ,['[1x1 ' class(self.debug) ']'],'debugging tools (valgrind, gprof)'));232 disp(sprintf('%19s: %-2 2s -- %s','verbose' ,['[1x1 ' class(self.verbose) ']'],'verbosity level in solve'));233 disp(sprintf('%19s: %-2 2s -- %s','settings' ,['[1x1 ' class(self.settings) ']'],'settings properties'));234 disp(sprintf('%19s: %-2 2s -- %s','toolkits' ,['[1x1 ' class(self.toolkits) ']'],'PETSc options for each solution'));235 disp(sprintf('%19s: %-2 2s -- %s','cluster' ,['[1x1 ' class(self.cluster) ']'],'cluster parameters (number of CPUs...)'));236 disp(sprintf('%19s: %-2 2s -- %s','balancethickness',['[1x1 ' class(self.balancethickness) ']'],'parameters for balancethickness solution'));237 disp(sprintf('%19s: %-2 2s -- %s','stressbalance' ,['[1x1 ' class(self.stressbalance) ']'],'parameters for stressbalance solution'));238 disp(sprintf('%19s: %-2 2s -- %s','groundingline' ,['[1x1 ' class(self.groundingline) ']'],'parameters for groundingline solution'));239 disp(sprintf('%19s: %-2 2s -- %s','hydrology' ,['[1x1 ' class(self.hydrology) ']'],'parameters for hydrology solution'));240 disp(sprintf('%19s: %-2 2s -- %s','debris' ,['[1x1 ' class(self.debris) ']'],'parameters for debris solution'));241 disp(sprintf('%19s: %-2 2s -- %s','masstransport' ,['[1x1 ' class(self.masstransport) ']'],'parameters for masstransport solution'));242 disp(sprintf('%19s: %-2 2s -- %s','thermal' ,['[1x1 ' class(self.thermal) ']'],'parameters for thermal solution'));243 disp(sprintf('%19s: %-2 2s -- %s','steadystate' ,['[1x1 ' class(self.steadystate) ']'],'parameters for steadystate solution'));244 disp(sprintf('%19s: %-2 2s -- %s','transient' ,['[1x1 ' class(self.transient) ']'],'parameters for transient solution'));245 disp(sprintf('%19s: %-2 2s -- %s','levelset' ,['[1x1 ' class(self.levelset) ']'],'parameters for moving boundaries (level-set method)'));246 disp(sprintf('%19s: %-2 2s -- %s','calving' ,['[1x1 ' class(self.calving) ']'],'parameters for calving'));247 disp(sprintf('%19s: %-2 2s -- %s','frontalforcings' ,['[1x1 ' class(self.frontalforcings) ']'],'parameters for frontalforcings'));248 disp(sprintf('%19s: %-2 2s -- %s','esa' ,['[1x1 ' class(self.esa) ']'],'parameters for elastic adjustment solution'));249 disp(sprintf('%19s: %-2 2s -- %s','love' ,['[1x1 ' class(self.love) ']'],'parameters for love solution'));250 disp(sprintf('%19s: %-2 2s -- %s','sampling' ,['[1x1 ' class(self.sampling) ']'],'parameters for stochastic sampler'));251 disp(sprintf('%19s: %-2 2s -- %s','autodiff' ,['[1x1 ' class(self.autodiff) ']'],'automatic differentiation parameters'));252 disp(sprintf('%19s: %-2 2s -- %s','inversion' ,['[1x1 ' class(self.inversion) ']'],'parameters for inverse methods'));253 disp(sprintf('%19s: %-2 2s -- %s','qmu' ,['[1x1 ' class(self.qmu) ']'],'Dakota properties'));254 disp(sprintf('%19s: %-2 2s -- %s','amr' ,['[1x1 ' class(self.amr) ']'],'adaptive mesh refinement properties'));255 disp(sprintf('%19s: %-2 2s -- %s','outputdefinition',['[1x1 ' class(self.outputdefinition) ']'],'output definition'));256 disp(sprintf('%19s: %-2 2s -- %s','results' ,['[1x1 ' class(self.results) ']'],'model results'));257 disp(sprintf('%19s: %-2 2s -- %s','radaroverlay' ,['[1x1 ' class(self.radaroverlay) ']'],'radar image for plot overlay'));258 disp(sprintf('%19s: %-2 2s -- %s','miscellaneous' ,['[1x1 ' class(self.miscellaneous) ']'],'miscellaneous fields'));259 disp(sprintf('%19s: %-2 2s -- %s','stochasticforcing',['[1x1 ' class(self.stochasticforcing) ']'],'stochasticity applied to model forcings'));216 disp(sprintf('%19s: %-23s -- %s','mesh' ,['[1x1 ' class(self.mesh) ']'],'mesh properties')); 217 disp(sprintf('%19s: %-23s -- %s','mask' ,['[1x1 ' class(self.mask) ']'],'defines grounded and floating elements')); 218 disp(sprintf('%19s: %-23s -- %s','geometry' ,['[1x1 ' class(self.geometry) ']'],'surface elevation, bedrock topography, ice thickness,...')); 219 disp(sprintf('%19s: %-23s -- %s','constants' ,['[1x1 ' class(self.constants) ']'],'physical constants')); 220 disp(sprintf('%19s: %-23s -- %s','smb' ,['[1x1 ' class(self.smb) ']'],'surface mass balance')); 221 disp(sprintf('%19s: %-23s -- %s','basalforcings' ,['[1x1 ' class(self.basalforcings) ']'],'bed forcings')); 222 disp(sprintf('%19s: %-23s -- %s','materials' ,['[1x1 ' class(self.materials) ']'],'material properties')); 223 disp(sprintf('%19s: %-23s -- %s','damage' ,['[1x1 ' class(self.damage) ']'],'parameters for damage evolution solution')); 224 disp(sprintf('%19s: %-23s -- %s','friction' ,['[1x1 ' class(self.friction) ']'],'basal friction/drag properties')); 225 disp(sprintf('%19s: %-23s -- %s','flowequation' ,['[1x1 ' class(self.flowequation) ']'],'flow equations')); 226 disp(sprintf('%19s: %-23s -- %s','timestepping' ,['[1x1 ' class(self.timestepping) ']'],'time stepping for transient models')); 227 disp(sprintf('%19s: %-23s -- %s','initialization' ,['[1x1 ' class(self.initialization) ']'],'initial guess/state')); 228 disp(sprintf('%19s: %-23s -- %s','rifts' ,['[1x1 ' class(self.rifts) ']'],'rifts properties')); 229 disp(sprintf('%19s: %-23s -- %s','solidearth' ,['[1x1 ' class(self.solidearth) ']'],'solidearth inputs and settings')); 230 disp(sprintf('%19s: %-23s -- %s','dsl' ,['[1x1 ' class(self.dsl) ']'],'dynamic sea-level ')); 231 disp(sprintf('%19s: %-23s -- %s','debug' ,['[1x1 ' class(self.debug) ']'],'debugging tools (valgrind, gprof)')); 232 disp(sprintf('%19s: %-23s -- %s','verbose' ,['[1x1 ' class(self.verbose) ']'],'verbosity level in solve')); 233 disp(sprintf('%19s: %-23s -- %s','settings' ,['[1x1 ' class(self.settings) ']'],'settings properties')); 234 disp(sprintf('%19s: %-23s -- %s','toolkits' ,['[1x1 ' class(self.toolkits) ']'],'PETSc options for each solution')); 235 disp(sprintf('%19s: %-23s -- %s','cluster' ,['[1x1 ' class(self.cluster) ']'],'cluster parameters (number of CPUs...)')); 236 disp(sprintf('%19s: %-23s -- %s','balancethickness',['[1x1 ' class(self.balancethickness) ']'],'parameters for balancethickness solution')); 237 disp(sprintf('%19s: %-23s -- %s','stressbalance' ,['[1x1 ' class(self.stressbalance) ']'],'parameters for stressbalance solution')); 238 disp(sprintf('%19s: %-23s -- %s','groundingline' ,['[1x1 ' class(self.groundingline) ']'],'parameters for groundingline solution')); 239 disp(sprintf('%19s: %-23s -- %s','hydrology' ,['[1x1 ' class(self.hydrology) ']'],'parameters for hydrology solution')); 240 disp(sprintf('%19s: %-23s -- %s','debris' ,['[1x1 ' class(self.debris) ']'],'parameters for debris solution')); 241 disp(sprintf('%19s: %-23s -- %s','masstransport' ,['[1x1 ' class(self.masstransport) ']'],'parameters for masstransport solution')); 242 disp(sprintf('%19s: %-23s -- %s','thermal' ,['[1x1 ' class(self.thermal) ']'],'parameters for thermal solution')); 243 disp(sprintf('%19s: %-23s -- %s','steadystate' ,['[1x1 ' class(self.steadystate) ']'],'parameters for steadystate solution')); 244 disp(sprintf('%19s: %-23s -- %s','transient' ,['[1x1 ' class(self.transient) ']'],'parameters for transient solution')); 245 disp(sprintf('%19s: %-23s -- %s','levelset' ,['[1x1 ' class(self.levelset) ']'],'parameters for moving boundaries (level-set method)')); 246 disp(sprintf('%19s: %-23s -- %s','calving' ,['[1x1 ' class(self.calving) ']'],'parameters for calving')); 247 disp(sprintf('%19s: %-23s -- %s','frontalforcings' ,['[1x1 ' class(self.frontalforcings) ']'],'parameters for frontalforcings')); 248 disp(sprintf('%19s: %-23s -- %s','esa' ,['[1x1 ' class(self.esa) ']'],'parameters for elastic adjustment solution')); 249 disp(sprintf('%19s: %-23s -- %s','love' ,['[1x1 ' class(self.love) ']'],'parameters for love solution')); 250 disp(sprintf('%19s: %-23s -- %s','sampling' ,['[1x1 ' class(self.sampling) ']'],'parameters for stochastic sampler')); 251 disp(sprintf('%19s: %-23s -- %s','autodiff' ,['[1x1 ' class(self.autodiff) ']'],'automatic differentiation parameters')); 252 disp(sprintf('%19s: %-23s -- %s','inversion' ,['[1x1 ' class(self.inversion) ']'],'parameters for inverse methods')); 253 disp(sprintf('%19s: %-23s -- %s','qmu' ,['[1x1 ' class(self.qmu) ']'],'Dakota properties')); 254 disp(sprintf('%19s: %-23s -- %s','amr' ,['[1x1 ' class(self.amr) ']'],'adaptive mesh refinement properties')); 255 disp(sprintf('%19s: %-23s -- %s','outputdefinition',['[1x1 ' class(self.outputdefinition) ']'],'output definition')); 256 disp(sprintf('%19s: %-23s -- %s','results' ,['[1x1 ' class(self.results) ']'],'model results')); 257 disp(sprintf('%19s: %-23s -- %s','radaroverlay' ,['[1x1 ' class(self.radaroverlay) ']'],'radar image for plot overlay')); 258 disp(sprintf('%19s: %-23s -- %s','miscellaneous' ,['[1x1 ' class(self.miscellaneous) ']'],'miscellaneous fields')); 259 disp(sprintf('%19s: %-23s -- %s','stochasticforcing',['[1x1 ' class(self.stochasticforcing) ']'],'stochasticity applied to model forcings')); 260 260 end % }}} 261 261 function md = setdefaultparameters(md,planet) % {{{ … … 286 286 md.stressbalance = stressbalance(); 287 287 md.hydrology = hydrologyshreve(); 288 md.debris 288 md.debris = debris(); 289 289 md.masstransport = masstransport(); 290 290 md.thermal = thermal(); … … 959 959 md2.mesh.vertexonboundary = zeros(md2.mesh.numberofvertices,1); md2.mesh.vertexonboundary(md2.mesh.segments(:,1:2)) = 1; 960 960 961 %Deal with bou dary961 %Deal with boundary 962 962 md2.mesh.vertexonboundary = [md.mesh.vertexonboundary;sum(md.mesh.vertexonboundary(edges),2)==2]; 963 963 md2.mesh.elementconnectivity=bamgmesh_out.ElementConnectivity; -
issm/trunk-jpl/src/m/classes/model.py
r27359 r27417 45 45 from hydrologypism import hydrologypism 46 46 from hydrologyshakti import hydrologyshakti 47 from debris import debris 47 48 from masstransport import masstransport 48 49 from thermal import thermal … … 97 98 self.dsl = None 98 99 self.solidearth = None 99 100 100 self.debug = None 101 101 self.verbose = None … … 103 103 self.toolkits = None 104 104 self.cluster = None 105 106 105 self.balancethickness = None 107 106 self.stressbalance = None 108 107 self.groundingline = None 109 108 self.hydrology = None 109 self.debris = None 110 110 self.masstransport = None 111 111 self.thermal = None … … 118 118 self.esa = None 119 119 self.sampling = None 120 121 120 self.autodiff = None 122 121 self.inversion = None … … 143 142 # already converted <class>.__repr__ method for examples) 144 143 # 145 s = "%19s: %-22s -- %s" % ("mesh", "[%s %s]" % ("1x1", obj.mesh.__class__.__name__), "mesh properties")146 s = "%s\n%s" % (s, "%19s: %-22s -- %s" % ("mask", "[%s %s]" % ("1x1", obj.mask.__class__.__name__), "defines grounded and floating elements"))147 s = "%s\n%s" % (s, "%19s: %-22s -- %s" % ("geometry", "[%s %s]" % ("1x1", obj.geometry.__class__.__name__), "surface elevation, bedrock topography, ice thickness, ..."))148 s = "%s\n%s" % (s, "%19s: %-22s -- %s" % ("constants", "[%s %s]" % ("1x1", obj.constants.__class__.__name__), "physical constants"))149 s = "%s\n%s" % (s, "%19s: %-22s -- %s" % ("smb", "[%s %s]" % ("1x1", obj.smb.__class__.__name__), "surface mass balance"))150 s = "%s\n%s" % (s, "%19s: %-22s -- %s" % ("basalforcings", "[%s %s]" % ("1x1", obj.basalforcings.__class__.__name__), "bed forcings"))151 s = "%s\n%s" % (s, "%19s: %-22s -- %s" % ("materials", "[%s %s]" % ("1x1", obj.materials.__class__.__name__), "material properties"))152 s = "%s\n%s" % (s, "%19s: %-22s -- %s" % ("damage", "[%s %s]" % ("1x1", obj.damage.__class__.__name__), "damage propagation laws"))153 s = "%s\n%s" % (s, "%19s: %-22s -- %s" % ("friction", "[%s %s]" % ("1x1", obj.friction.__class__.__name__), "basal friction / drag properties"))154 s = "%s\n%s" % (s, "%19s: %-22s -- %s" % ("flowequation", "[%s %s]" % ("1x1", obj.flowequation.__class__.__name__), "flow equations"))155 s = "%s\n%s" % (s, "%19s: %-22s -- %s" % ("timestepping", "[%s %s]" % ("1x1", obj.timestepping.__class__.__name__), "time stepping for transient models"))156 s = "%s\n%s" % (s, "%19s: %-22s -- %s" % ("initialization", "[%s %s]" % ("1x1", obj.initialization.__class__.__name__), "initial guess / state"))157 s = "%s\n%s" % (s, "%19s: %-22s -- %s" % ("rifts", "[%s %s]" % ("1x1", obj.rifts.__class__.__name__), "rifts properties"))158 s = "%s\n%s" % (s, "%19s: %-22s -- %s" % ("solidearth", "[%s %s]" % ("1x1", obj.solidearth.__class__.__name__), "solidearth inputs and settings"))159 s = "%s\n%s" % (s, "%19s: %-22s -- %s" % ("dsl", "[%s %s]" % ("1x1", obj.dsl.__class__.__name__), "dynamic sea level"))160 s = "%s\n%s" % (s, "%19s: %-22s -- %s" % ("debug", "[%s %s]" % ("1x1", obj.debug.__class__.__name__), "debugging tools (valgrind, gprof)"))161 s = "%s\n%s" % (s, "%19s: %-22s -- %s" % ("verbose", "[%s %s]" % ("1x1", obj.verbose.__class__.__name__), "verbosity level in solve"))162 s = "%s\n%s" % (s, "%19s: %-22s -- %s" % ("settings", "[%s %s]" % ("1x1", obj.settings.__class__.__name__), "settings properties"))163 s = "%s\n%s" % (s, "%19s: %-22s -- %s" % ("toolkits", "[%s %s]" % ("1x1", obj.toolkits.__class__.__name__), "PETSc options for each solution"))164 s = "%s\n%s" % (s, "%19s: %-22s -- %s" % ("cluster", "[%s %s]" % ("1x1", obj.cluster.__class__.__name__), "cluster parameters (number of CPUs...)"))165 s = "%s\n%s" % (s, "%19s: %-22s -- %s" % ("balancethickness", "[%s %s]" % ("1x1", obj.balancethickness.__class__.__name__), "parameters for balancethickness solution"))166 s = "%s\n%s" % (s, "%19s: %-22s -- %s" % ("stressbalance", "[%s %s]" % ("1x1", obj.stressbalance.__class__.__name__), "parameters for stressbalance solution"))167 s = "%s\n%s" % (s, "%19s: %-22s -- %s" % ("groundingline", "[%s %s]" % ("1x1", obj.groundingline.__class__.__name__), "parameters for groundingline solution"))168 s = "%s\n%s" % (s, "%19s: %-22s -- %s" % ("hydrology", "[%s %s]" % ("1x1", obj.hydrology.__class__.__name__), "parameters for hydrology solution"))169 s = "%s\n%s" % (s, "%19s: %-22s -- %s" % ("masstransport", "[%s %s]" % ("1x1", obj.masstransport.__class__.__name__), "parameters for masstransport solution"))170 s = "%s\n%s" % (s, "%19s: %-22s -- %s" % ("thermal", "[%s %s]" % ("1x1", obj.thermal.__class__.__name__), "parameters for thermal solution"))171 s = "%s\n%s" % (s, "%19s: %-22s -- %s" % ("steadystate", "[%s %s]" % ("1x1", obj.steadystate.__class__.__name__), "parameters for steadystate solution"))172 s = "%s\n%s" % (s, "%19s: %-22s -- %s" % ("transient", "[%s %s]" % ("1x1", obj.transient.__class__.__name__), "parameters for transient solution"))173 s = "%s\n%s" % (s, "%19s: %-22s -- %s" % ("levelset", "[%s %s]" % ("1x1", obj.levelset.__class__.__name__), "parameters for moving boundaries (level-set method)"))174 s = "%s\n%s" % (s, "%19s: %-22s -- %s" % ("calving", "[%s %s]" % ("1x1", obj.calving.__class__.__name__), "parameters for calving"))175 s = "%s\n%s" % (s, "%19s: %-22s -- %s" % ("frontalforcings", "[%s %s]" % ("1x1", obj.frontalforcings.__class__.__name__), "parameters for frontalforcings"))176 s = "%s\n%s" % (s, '%19s: %-22s -- %s' % ("esa", "[%s %s]" % ("1x1", obj.esa.__class__.__name__), "parameters for elastic adjustment solution"))177 s = "%s\n%s" % (s, '%19s: %-22s -- %s' % ("sampling", "[%s %s]" % ("1x1", obj.sampling.__class__.__name__), "parameters for stochastic sampler"))178 s = "%s\n%s" % (s, '%19s: %-22s -- %s' % ("love", "[%s %s]" % ("1x1", obj.love.__class__.__name__), "parameters for love solution"))179 s = "%s\n%s" % (s, "%19s: %-22s -- %s" % ("autodiff", "[%s %s]" % ("1x1", obj.autodiff.__class__.__name__), "automatic differentiation parameters"))180 s = "%s\n%s" % (s, "%19s: %-22s -- %s" % ("inversion", "[%s %s]" % ("1x1", obj.inversion.__class__.__name__), "parameters for inverse methods"))181 s = "%s\n%s" % (s, "%19s: %-22s -- %s" % ("qmu", "[%s %s]" % ("1x1", obj.qmu.__class__.__name__), "Dakota properties"))182 s = "%s\n%s" % (s, "%19s: %-22s -- %s" % ("amr", "[%s %s]" % ("1x1", obj.amr.__class__.__name__), "adaptive mesh refinement properties"))183 s = "%s\n%s" % (s, "%19s: %-22s -- %s" % ("outputdefinition", "[%s %s]" % ("1x1", obj.outputdefinition.__class__.__name__), "output definition"))184 s = "%s\n%s" % (s, "%19s: %-22s -- %s" % ("results", "[%s %s]" % ("1x1", obj.results.__class__.__name__), "model results"))185 s = "%s\n%s" % (s, "%19s: %-22s -- %s" % ("radaroverlay", "[%s %s]" % ("1x1", obj.radaroverlay.__class__.__name__), "radar image for plot overlay"))186 s = "%s\n%s" % (s, "%19s: %-22s -- %s" % ("miscellaneous", "[%s %s]" % ("1x1", obj.miscellaneous.__class__.__name__), "miscellaneous fields"))187 s = "%s\n%s" % (s, "%19s: %-22s -- %s" % ("stochasticforcing", "[%s %s]" % ("1x1", obj.stochasticforcing.__class__.__name__), "stochasticity applied to model forcings"))144 s = '%19s: %-23s -- %s' % ('mesh', '[%s %s]' % ('1x1', obj.mesh.__class__.__name__), 'mesh properties') 145 s = '%s\n%s' % (s, '%19s: %-23s -- %s' % ('mask', '[%s %s]' % ('1x1', obj.mask.__class__.__name__), 'defines grounded and floating elements')) 146 s = '%s\n%s' % (s, '%19s: %-23s -- %s' % ('geometry', '[%s %s]' % ('1x1', obj.geometry.__class__.__name__), 'surface elevation, bedrock topography, ice thickness, ...')) 147 s = '%s\n%s' % (s, '%19s: %-23s -- %s' % ('constants', '[%s %s]' % ('1x1', obj.constants.__class__.__name__), 'physical constants')) 148 s = '%s\n%s' % (s, '%19s: %-23s -- %s' % ('smb', '[%s %s]' % ('1x1', obj.smb.__class__.__name__), 'surface mass balance')) 149 s = '%s\n%s' % (s, '%19s: %-23s -- %s' % ('basalforcings', '[%s %s]' % ('1x1', obj.basalforcings.__class__.__name__), 'bed forcings')) 150 s = '%s\n%s' % (s, '%19s: %-23s -- %s' % ('materials', '[%s %s]' % ('1x1', obj.materials.__class__.__name__), 'material properties')) 151 s = '%s\n%s' % (s, '%19s: %-23s -- %s' % ('damage', '[%s %s]' % ('1x1', obj.damage.__class__.__name__), 'damage propagation laws')) 152 s = '%s\n%s' % (s, '%19s: %-23s -- %s' % ('friction', '[%s %s]' % ('1x1', obj.friction.__class__.__name__), 'basal friction / drag properties')) 153 s = '%s\n%s' % (s, '%19s: %-23s -- %s' % ('flowequation', '[%s %s]' % ('1x1', obj.flowequation.__class__.__name__), 'flow equations')) 154 s = '%s\n%s' % (s, '%19s: %-23s -- %s' % ('timestepping', '[%s %s]' % ('1x1', obj.timestepping.__class__.__name__), 'time stepping for transient models')) 155 s = '%s\n%s' % (s, '%19s: %-23s -- %s' % ('initialization', '[%s %s]' % ('1x1', obj.initialization.__class__.__name__), 'initial guess / state')) 156 s = '%s\n%s' % (s, '%19s: %-23s -- %s' % ('rifts', '[%s %s]' % ('1x1', obj.rifts.__class__.__name__), 'rifts properties')) 157 s = '%s\n%s' % (s, '%19s: %-23s -- %s' % ('solidearth', '[%s %s]' % ('1x1', obj.solidearth.__class__.__name__), 'solidearth inputs and settings')) 158 s = '%s\n%s' % (s, '%19s: %-23s -- %s' % ('dsl', '[%s %s]' % ('1x1', obj.dsl.__class__.__name__), 'dynamic sea level')) 159 s = '%s\n%s' % (s, '%19s: %-23s -- %s' % ('debug', '[%s %s]' % ('1x1', obj.debug.__class__.__name__), 'debugging tools (valgrind, gprof)')) 160 s = '%s\n%s' % (s, '%19s: %-23s -- %s' % ('verbose', '[%s %s]' % ('1x1', obj.verbose.__class__.__name__), 'verbosity level in solve')) 161 s = '%s\n%s' % (s, '%19s: %-23s -- %s' % ('settings', '[%s %s]' % ('1x1', obj.settings.__class__.__name__), 'settings properties')) 162 s = '%s\n%s' % (s, '%19s: %-23s -- %s' % ('toolkits', '[%s %s]' % ('1x1', obj.toolkits.__class__.__name__), 'PETSc options for each solution')) 163 s = '%s\n%s' % (s, '%19s: %-23s -- %s' % ('cluster', '[%s %s]' % ('1x1', obj.cluster.__class__.__name__), 'cluster parameters (number of CPUs...)')) 164 s = '%s\n%s' % (s, '%19s: %-23s -- %s' % ('balancethickness', '[%s %s]' % ('1x1', obj.balancethickness.__class__.__name__), 'parameters for balancethickness solution')) 165 s = '%s\n%s' % (s, '%19s: %-23s -- %s' % ('stressbalance', '[%s %s]' % ('1x1', obj.stressbalance.__class__.__name__), 'parameters for stressbalance solution')) 166 s = '%s\n%s' % (s, '%19s: %-23s -- %s' % ('groundingline', '[%s %s]' % ('1x1', obj.groundingline.__class__.__name__), 'parameters for groundingline solution')) 167 s = '%s\n%s' % (s, '%19s: %-23s -- %s' % ('hydrology', '[%s %s]' % ('1x1', obj.hydrology.__class__.__name__), 'parameters for hydrology solution')) 168 s = '%s\n%s' % (s, '%19s: %-23s -- %s' % ('masstransport', '[%s %s]' % ('1x1', obj.masstransport.__class__.__name__), 'parameters for masstransport solution')) 169 s = '%s\n%s' % (s, '%19s: %-23s -- %s' % ('thermal', '[%s %s]' % ('1x1', obj.thermal.__class__.__name__), 'parameters for thermal solution')) 170 s = '%s\n%s' % (s, '%19s: %-23s -- %s' % ('steadystate', '[%s %s]' % ('1x1', obj.steadystate.__class__.__name__), 'parameters for steadystate solution')) 171 s = '%s\n%s' % (s, '%19s: %-23s -- %s' % ('transient', '[%s %s]' % ('1x1', obj.transient.__class__.__name__), 'parameters for transient solution')) 172 s = '%s\n%s' % (s, '%19s: %-23s -- %s' % ('levelset', '[%s %s]' % ('1x1', obj.levelset.__class__.__name__), 'parameters for moving boundaries (level-set method)')) 173 s = '%s\n%s' % (s, '%19s: %-23s -- %s' % ('calving', '[%s %s]' % ('1x1', obj.calving.__class__.__name__), 'parameters for calving')) 174 s = '%s\n%s' % (s, '%19s: %-23s -- %s' % ('frontalforcings', '[%s %s]' % ('1x1', obj.frontalforcings.__class__.__name__), 'parameters for frontalforcings')) 175 s = '%s\n%s' % (s, '%19s: %-23s -- %s' % ('esa', '[%s %s]' % ('1x1', obj.esa.__class__.__name__), 'parameters for elastic adjustment solution')) 176 s = '%s\n%s' % (s, '%19s: %-23s -- %s' % ('sampling', '[%s %s]' % ('1x1', obj.sampling.__class__.__name__), 'parameters for stochastic sampler')) 177 s = '%s\n%s' % (s, '%19s: %-23s -- %s' % ('love', '[%s %s]' % ('1x1', obj.love.__class__.__name__), 'parameters for love solution')) 178 s = '%s\n%s' % (s, '%19s: %-23s -- %s' % ('autodiff', '[%s %s]' % ('1x1', obj.autodiff.__class__.__name__), 'automatic differentiation parameters')) 179 s = '%s\n%s' % (s, '%19s: %-23s -- %s' % ('inversion', '[%s %s]' % ('1x1', obj.inversion.__class__.__name__), 'parameters for inverse methods')) 180 s = '%s\n%s' % (s, '%19s: %-23s -- %s' % ('qmu', '[%s %s]' % ('1x1', obj.qmu.__class__.__name__), 'Dakota properties')) 181 s = '%s\n%s' % (s, '%19s: %-23s -- %s' % ('amr', '[%s %s]' % ('1x1', obj.amr.__class__.__name__), 'adaptive mesh refinement properties')) 182 s = '%s\n%s' % (s, '%19s: %-23s -- %s' % ('outputdefinition', '[%s %s]' % ('1x1', obj.outputdefinition.__class__.__name__), 'output definition')) 183 s = '%s\n%s' % (s, '%19s: %-23s -- %s' % ('results', '[%s %s]' % ('1x1', obj.results.__class__.__name__), 'model results')) 184 s = '%s\n%s' % (s, '%19s: %-23s -- %s' % ('radaroverlay', '[%s %s]' % ('1x1', obj.radaroverlay.__class__.__name__), 'radar image for plot overlay')) 185 s = '%s\n%s' % (s, '%19s: %-23s -- %s' % ('miscellaneous', '[%s %s]' % ('1x1', obj.miscellaneous.__class__.__name__), 'miscellaneous fields')) 186 s = '%s\n%s' % (s, '%19s: %-23s -- %s' % ('stochasticforcing', '[%s %s]' % ('1x1', obj.stochasticforcing.__class__.__name__), 'stochasticity applied to model forcings')) 188 187 return s 189 188 #}}} … … 216 215 'groundingline', 217 216 'hydrology', 217 'debris', 218 218 'masstransport', 219 219 'thermal', … … 264 264 self.stressbalance = stressbalance() 265 265 self.hydrology = hydrologyshreve() 266 self.debris = debris() 266 267 self.masstransport = masstransport() 267 268 self.thermal = thermal() … … 597 598 #some checks on list of arguments 598 599 if len(args) > 3 or len(args) < 1: 599 raise RuntimeError( "extrude error message")600 raise RuntimeError('extrude error message') 600 601 601 602 #Extrude the mesh … … 603 604 clist = args[0] 604 605 if any(clist < 0) or any(clist > 1): 605 raise TypeError( "extrusioncoefficients must be between 0 and 1")606 raise TypeError('extrusioncoefficients must be between 0 and 1') 606 607 clist.extend([0., 1.]) 607 608 clist.sort() … … 611 612 elif len(args) == 2: #one polynomial law 612 613 if args[1] <= 0: 613 raise TypeError( "extrusionexponent must be >= 0")614 raise TypeError('extrusionexponent must be >= 0') 614 615 numlayers = args[0] 615 616 extrusionlist = (np.arange(0., float(numlayers - 1) + 1., 1.) / float(numlayers - 1))**args[1] … … 621 622 622 623 if args[1] <= 0 or args[2] <= 0: 623 raise TypeError( "lower and upper extrusionexponents must be >= 0")624 raise TypeError('lower and upper extrusionexponents must be >= 0') 624 625 625 626 lowerextrusionlist = (np.arange(0., 1. + 2. / float(numlayers - 1), 2. / float(numlayers - 1)))**lowerexp / 2. … … 628 629 629 630 if numlayers < 2: 630 raise TypeError( "number of layers should be at least 2")631 raise TypeError('number of layers should be at least 2') 631 632 if md.mesh.__class__.__name__ == 'mesh3dprisms': 632 raise TypeError( "Cannot extrude a 3d mesh (extrude cannot be called more than once)")633 raise TypeError('Cannot extrude a 3d mesh (extrude cannot be called more than once)') 633 634 634 635 #Initialize with the 2d mesh … … 732 733 md.frontalforcings.extrude(md) 733 734 md.hydrology.extrude(md) 735 md.debris.extrude(md) 734 736 md.solidearth.extrude(md) 735 737 md.dsl.extrude(md) … … 774 776 # Check that the model is really a 3d model 775 777 if md.mesh.elementtype() != 'Penta': 776 raise Exception( "collapse error message: only a 3d mesh can be collapsed")778 raise Exception('collapse error message: only a 3d mesh can be collapsed') 777 779 778 780 # Start with changing all the fields from the 3d mesh -
issm/trunk-jpl/src/m/classes/modellist.m
r19040 r27417 298 298 % BuildMultipleQueueingScript(executionpath,codepath) 299 299 300 disp('building queu eing script');300 disp('building queuing script'); 301 301 302 302 %First try and figure out if there is a special script for this particular cluster … … 363 363 end% }}} 364 364 function md=LaunchMultipleQueueJobgemini(cluster,name,executionpath)% {{{ 365 %LAUNCHMULTIPLEQUEUEJOBGEMINI - Launch multiple queu eing script on Gemini cluster365 %LAUNCHMULTIPLEQUEUEJOBGEMINI - Launch multiple queuing script on Gemini cluster 366 366 % 367 367 % Usage: 368 368 % LaunchMultipleQueueJobgemini(cluster,name,executionpath) 369 369 370 %first, check we have the binary file and the queu eing script370 %first, check we have the binary file and the queuing script 371 371 if ~exist([ name '.queue'],'file'), 372 error('LaunchMultipleQueueJobgemini error message: queu eing script issing, cannot go forward');372 error('LaunchMultipleQueueJobgemini error message: queuing script issing, cannot go forward'); 373 373 end 374 374 … … 378 378 379 379 %upload both files to cluster 380 disp('uploading input file, queu eing script and variables script');380 disp('uploading input file, queuing script and variables script'); 381 381 eval(['!scp ModelList.tar.gz ' name '.queue ' cluster ':' executionpath]); 382 382 -
issm/trunk-jpl/src/m/classes/sampling.m
r26747 r27417 75 75 if(md.sampling.robin) 76 76 md = checkfield(md,'fieldname','sampling.beta','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1],'>',0); 77 end 77 end 78 md = checkfield(md,'fieldname','sampling.phi','NaN',1,'Inf',1,'numel',1,'>=',0); 78 79 md = checkfield(md,'fieldname','sampling.alpha','NaN',1,'Inf',1,'numel',1,'>',0); 79 80 md = checkfield(md,'fieldname','sampling.seed','NaN',1,'Inf',1,'numel',1); -
issm/trunk-jpl/src/m/classes/sampling.py
r26301 r27417 20 20 self.tau = 0 21 21 self.beta = np.nan 22 self.phi = 022 self.phi = np.nan 23 23 self.alpha = 0 24 24 self.robin = 0 … … 54 54 55 55 def setdefaultparameters(self): #{{{ 56 # Scaling coefficient57 self.tau = 158 56 59 57 # Apply Robin boundary conditions 60 58 self.robin = 0 61 59 62 # Temporal correlation factor63 self.phi = 064 65 60 # Exponent in fraction SPDE (default: 2, biLaplacian covariance operator) 66 self.alpha = 2 61 self.alpha = 2 # Default 67 62 68 63 # Seed for pseudorandom number generator (default: -1, for random seed) … … 99 94 def marshall(self, prefix, md, fid): #{{{ 100 95 WriteData(fid, prefix, 'object', self, 'fieldname', 'kappa', 'format', 'DoubleMat', 'mattype', 1) 101 WriteData(fid, prefix, 'object', self, 'fieldname', 'tau', 'format', 'Double ')96 WriteData(fid, prefix, 'object', self, 'fieldname', 'tau', 'format', 'DoubleMat', 'mattype', 1) 102 97 WriteData(fid, prefix, 'object', self, 'fieldname', 'beta', 'format', 'DoubleMat', 'mattype', 1) 103 WriteData(fid, prefix, 'object', self, 'fieldname', 'phi', 'format', 'Double ')98 WriteData(fid, prefix, 'object', self, 'fieldname', 'phi', 'format', 'DoubleMat', 'mattype', 1) 104 99 WriteData(fid, prefix, 'object', self, 'fieldname', 'alpha', 'format', 'Integer') 105 100 WriteData(fid, prefix, 'object', self, 'fieldname', 'robin', 'format', 'Boolean') -
issm/trunk-jpl/src/m/classes/solidearthsettings.m
r27131 r27417 88 88 self.cross_section_shape=1; %square as default (see iedge in GiaDeflectionCorex) 89 89 90 % no grd model by default:90 %grd model by default 91 91 self.grdmodel=1; 92 92 … … 171 171 WriteData(fid,prefix,'object',self,'fieldname','viscous','name','md.solidearth.settings.viscous','format','Boolean'); 172 172 WriteData(fid,prefix,'object',self,'fieldname','rotation','name','md.solidearth.settings.rotation','format','Boolean'); 173 WriteData(fid,prefix,'object',self,'fieldname','rotation','name','md.solidearth.settings.satellitegravity','format','Boolean');174 173 WriteData(fid,prefix,'object',self,'fieldname','grdocean','name','md.solidearth.settings.grdocean','format','Boolean'); 175 174 WriteData(fid,prefix,'object',self,'fieldname','ocean_area_scaling','name','md.solidearth.settings.ocean_area_scaling','format','Boolean'); -
issm/trunk-jpl/src/m/classes/solidearthsettings.py
r26840 r27417 93 93 self.cross_section_shape = 1 # Square as default (see iedge in GiaDeflectionCorex) 94 94 95 # NoGRD model by default96 self.grdmodel = 095 # GRD model by default 96 self.grdmodel = 1 97 97 # }}} 98 98 -
issm/trunk-jpl/src/m/classes/transient.m
r27403 r27417 144 144 WriteData(fid,prefix,'object',self,'fieldname','isesa','format','Boolean'); 145 145 WriteData(fid,prefix,'object',self,'fieldname','isdamageevolution','format','Boolean'); 146 WriteData(fid,prefix,'object',self,'fieldname','ismovingfront','format','Boolean'); 146 147 WriteData(fid,prefix,'object',self,'fieldname','ishydrology','format','Boolean'); 147 148 WriteData(fid,prefix,'object',self,'fieldname','isdebris','format','Boolean'); 148 WriteData(fid,prefix,'object',self,'fieldname','ismovingfront','format','Boolean');149 149 WriteData(fid,prefix,'object',self,'fieldname','issampling','format','Boolean'); 150 150 WriteData(fid,prefix,'object',self,'fieldname','isslc','format','Boolean'); -
issm/trunk-jpl/src/m/classes/transient.py
r27403 r27417 146 146 WriteData(fid, prefix, 'object', self, 'fieldname', 'isesa', 'format', 'Boolean') 147 147 WriteData(fid, prefix, 'object', self, 'fieldname', 'isdamageevolution', 'format', 'Boolean') 148 WriteData(fid, prefix, 'object', self, 'fieldname', 'ismovingfront', 'format', 'Boolean') 148 149 WriteData(fid, prefix, 'object', self, 'fieldname', 'ishydrology', 'format', 'Boolean') 149 WriteData(fid, prefix, 'object', self, 'fieldname', 'ismovingfront', 'format', 'Boolean')150 150 WriteData(fid, prefix, 'object', self, 'fieldname', 'isdebris', 'format', 'Boolean') 151 151 WriteData(fid, prefix, 'object', self, 'fieldname', 'issampling', 'format', 'Boolean') -
issm/trunk-jpl/test/NightlyRun/test355.m
r27396 r27417 23 23 24 24 %Define initial conditions 25 md.initialization.vx = 1 0^-6*md.constants.yts*ones(md.mesh.numberofvertices,1);25 md.initialization.vx = 1.0e-6*md.constants.yts*ones(md.mesh.numberofvertices,1); 26 26 md.initialization.vy = zeros(md.mesh.numberofvertices,1); 27 27 md.initialization.temperature=(273.-20.)*ones(md.mesh.numberofvertices,1); -
issm/trunk-jpl/test/NightlyRun/test355.py
r27396 r27417 10 10 from generic import generic 11 11 12 # create model:12 # Create model 13 13 md = triangle(model(), '../Exp/Square.exp', 50000.) 14 14 md.mesh.x = md.mesh.x / 100 15 15 md.mesh.y = md.mesh.y / 100 16 #miscellaneous 17 md = setmask(md, '', '') #everywhere grounded 16 md.miscellaneous.name = 'testChannels' 17 18 # Miscellaneous 19 md = setmask(md, '', '') # Everywhere grounded 18 20 md = setflowequation(md, 'SSA', 'all') 19 md.miscellaneous.name = 'testChannels' 20 md.stressbalance.maxiter = 2 #Make sure it runs quickly... 21 md.stressbalance.maxiter = 2 # Make sure it runs quickly... 21 22 22 # Some constants23 # Some constants 23 24 md.constants.g = 9.8 24 25 md.materials.rho_ice = 910 25 26 26 # Geometry27 # Geometry 27 28 md.geometry.surface = -0.02 * md.mesh.x + 320 28 29 md.geometry.bed = np.zeros((md.mesh.numberofvertices)) … … 30 31 md.geometry.thickness = md.geometry.surface - md.geometry.bed 31 32 32 # Define initial conditions33 # Define initial conditions 33 34 md.initialization.vx = 1.0e-6 * md.constants.yts * np.ones((md.mesh.numberofvertices)) 34 35 md.initialization.vy = np.zeros((md.mesh.numberofvertices)) … … 37 38 md.initialization.hydraulic_potential = md.materials.rho_ice * md.constants.g * md.geometry.thickness 38 39 39 # Materials40 #cMaterials 40 41 md.materials.rheology_B = (5e-25)**(-1./3.) * np.ones((md.mesh.numberofvertices)) 41 42 md.materials.rheology_n = 3. * np.ones((md.mesh.numberofelements)) 42 43 43 # Friction44 #cFriction 44 45 md.friction.coefficient = np.zeros((md.mesh.numberofvertices)) 45 46 md.friction.p = np.ones((md.mesh.numberofelements)) … … 47 48 #md.friction.coupling = 0 48 49 49 #B oundary conditions:50 #Bcoundary conditions: 50 51 md = SetIceSheetBC(md) 51 52 … … 74 75 75 76 md.cluster = generic('np', 2) 76 md = solve(md, 'Transient') #or 'tr'77 md = solve(md, 'Transient') # Or 'tr' 77 78 78 # Fields and tolerances to track changes79 # Fields and tolerances to track changes 79 80 field_names = ['HydrologySheetThickness1', 'HydraulicPotential1', 'ChannelArea1', 80 81 'HydrologySheetThickness2', 'HydraulicPotential2', 'ChannelArea2', -
issm/trunk-jpl/test/NightlyRun/test442.m
r24862 r27417 55 55 'Bed3','Surface3','Thickness3','Floatingice3','Vx3','Vy3','Vz3','Pressure3','FloatingiceMeltingrate3',}; 56 56 field_tolerances={... 57 2e-11,5e-12,2e-11,1e-11,5e-10, 1e-08,6e-10,1e-13,1e-13,...57 2e-11,5e-12,2e-11,1e-11,5e-10,3e-08,6e-10,1e-13,1e-13,... 58 58 5e-09,5e-09,5e-09,5e-09,9e-05,9e-05,9e-05,5e-09,1e-13,... 59 8e-09,3e-08,8e-09,5e-09,8e-04,6e-04,2e-09,1e-8,4e-10};59 1e-08,3e-08,7e-09,2e-07,1e-03,6e-04,2e-09,1e-08,4e-10}; 60 60 field_values={... 61 61 (md.results.TransientSolution(1).Base),... -
issm/trunk-jpl/test/NightlyRun/test442.py
r24862 r27417 65 65 'Bed3', 'Surface3', 'Thickness3', 'Floatingice3', 'Vx3', 'Vy3', 'Vz3', 'Pressure3', 'FloatingiceMeltingrate3'] 66 66 field_tolerances = [2e-11, 5e-12, 2e-11, 1e-11, 5e-10, 3e-08, 6e-10, 1e-13, 1e-13, 67 3e-11, 3e-11, 9e-10, 7e-11, 7e-09, 1e-07, 1e-09, 1e-10, 1e-13,68 1e- 8, 2e-08, 7e-09, 2e-7, 1e-03, 8e-04, 2e-09, 1e-10, 1e-13]67 5e-09, 5e-09, 5e-09, 5e-09, 9e-05, 9e-05, 9e-05, 5e-09, 1e-13, 68 1e-08, 3e-08, 7e-09, 2e-67, 1e-03, 8e-04, 2e-09, 1e-08, 4e-10] 69 69 field_values = [md.results.TransientSolution[0].Base, 70 70 md.results.TransientSolution[0].Surface,
Note:
See TracChangeset
for help on using the changeset viewer.