Changeset 22483
- Timestamp:
- 02/27/18 23:29:18 (7 years ago)
- Location:
- issm/trunk-jpl/src/m/classes
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/m/classes/slr.js
r22107 r22483 38 38 this.degacc=.01; 39 39 40 //steric: 41 this.steric_rate=0; 42 43 40 44 //output default: 41 45 this.requested_outputs=['default']; … … 63 67 md = checkfield(md,'fieldname','slr.reltol','size',[1, 1]); 64 68 md = checkfield(md,'fieldname','slr.abstol','size',[1, 1]); 69 md = checkfield(md,'fieldname','slr.steric_rate','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices, 1]); 65 70 md = checkfield(md,'fieldname','slr.maxiter','size',[1, 1],'>=',1); 66 71 md = checkfield(md,'fieldname','slr.degacc','size',[1, 1],'>=',1e-10); … … 81 86 this.disp= function(){// {{{ 82 87 83 console.log(sprintf(' Sealevelrise solution parameters:'));88 console.log(sprintf(' Sealevelrise solution parameters:')); 84 89 85 fielddisplay(this,'deltathickness','thickness change (main loading of the slr solution core [m]'); 86 fielddisplay(this,'sealevel','current sea level (prior to computation) [m]'); 87 fielddisplay(this,'reltol','sea level rise relative convergence criterion, (NaN: not applied)'); 88 fielddisplay(this,'abstol','sea level rise absolute convergence criterion, (default, NaN: not applied'); 89 fielddisplay(this,'maxiter','maximum number of nonlinear iterations'); 90 fielddisplay(this,'love_h','load Love number for radial displacement'); 91 fielddisplay(this,'love_k','load Love number for gravitational potential perturbation'); 92 fielddisplay(this,'love_l','load Love number for horizontal displacements'); 93 fielddisplay(this,'tide_love_h','tidal love number (degree 2)'); 94 fielddisplay(this,'tide_love_k','tidal love number (degree 2)'); 95 fielddisplay(this,'fluid_love','secular fluid Love number'); 96 fielddisplay(this,'equatorial_moi','mean equatorial moment of inertia [kg m^2]'); 97 fielddisplay(this,'polar_moi','polar moment of inertia [kg m^2]'); 98 fielddisplay(this,'angular_velocity','mean rotational velocity of earth [per second]'); 99 fielddisplay(this,'rigid','rigid earth graviational potential perturbation'); 100 fielddisplay(this,'elastic','elastic earth graviational potential perturbation'); 101 fielddisplay(this,'rotation','rotational earth potential perturbation'); 102 fielddisplay(this,'ocean_area_scaling','correction for model representation of ocean area [default: No correction]'); 103 fielddisplay(this,'degacc',"accuracy (default .01 deg) for numerical discretization of the Green's functions"); 104 fielddisplay(this,'transitions','indices into parts of the mesh that will be icecaps'); 105 fielddisplay(this,'requested_outputs','additional outputs requested'); 90 fielddisplay(this,'deltathickness','thickness change (main loading of the slr solution core [m]'); 91 fielddisplay(this,'sealevel','current sea level (prior to computation) [m]'); 92 fielddisplay(this,'reltol','sea level rise relative convergence criterion, (NaN: not applied)'); 93 fielddisplay(this,'abstol','sea level rise absolute convergence criterion, (default, NaN: not applied'); 94 fielddisplay(this,'maxiter','maximum number of nonlinear iterations'); 95 fielddisplay(this,'love_h','load Love number for radial displacement'); 96 fielddisplay(this,'love_k','load Love number for gravitational potential perturbation'); 97 fielddisplay(this,'love_l','load Love number for horizontal displacements'); 98 fielddisplay(this,'tide_love_h','tidal love number (degree 2)'); 99 fielddisplay(this,'tide_love_k','tidal love number (degree 2)'); 100 fielddisplay(this,'fluid_love','secular fluid Love number'); 101 fielddisplay(this,'equatorial_moi','mean equatorial moment of inertia [kg m^2]'); 102 fielddisplay(this,'polar_moi','polar moment of inertia [kg m^2]'); 103 fielddisplay(this,'angular_velocity','mean rotational velocity of earth [per second]'); 104 fielddisplay(this,'rigid','rigid earth graviational potential perturbation'); 105 fielddisplay(this,'elastic','elastic earth graviational potential perturbation'); 106 fielddisplay(this,'rotation','rotational earth potential perturbation'); 107 fielddisplay(this,'ocean_area_scaling','correction for model representation of ocean area [default: No correction]'); 108 fielddisplay(this,'steric_rate','rate of steric ocean expansion (in mm/yr)'); 109 fielddisplay(this,'degacc',"accuracy (default .01 deg) for numerical discretization of the Green's functions"); 110 fielddisplay(this,'transitions','indices into parts of the mesh that will be icecaps'); 111 fielddisplay(this,'requested_outputs','additional outputs requested'); 106 112 } //}}} 107 113 this.marshall=function(md,prefix,fid) { //{{{ … … 125 131 WriteData(fid,prefix,'object',this,'fieldname','rotation','format','Boolean'); 126 132 WriteData(fid,prefix,'object',this,'fieldname','ocean_area_scaling','format','Boolean'); 133 WriteData(fid,prefix,'object',this,'fieldname','steric_rate','format','DoubleMat','mattype',1,'scale',1e-3/md.constants.yts); 127 134 WriteData(fid,prefix,'object',this,'fieldname','degacc','format','Double'); 128 135 WriteData(fid,prefix,'object',this,'fieldname','transitions','format','MatArray'); … … 158 165 this.rotation=NullFix(this.rotation,NaN); 159 166 this.ocean_area_scaling=NullFix(this.ocean_area_scaling,NaN); 167 this.steric_rate=NullFix(this.steric_rate,NaN); 160 168 this.degacc=NullFix(this.degacc,NaN); 161 169 }//}}} … … 180 188 this.rotation = 0; 181 189 this.ocean_area_scaling = 0; 190 this.steric_rate = 0; //rate of ocean expansion from steric effects. 182 191 this.degacc = 0; 183 192 this.requested_outputs = []; -
issm/trunk-jpl/src/m/classes/thermal.js
r22098 r22483 28 28 //will basal boundary conditions be set dynamically 29 29 this.isdynamicbasalspc=0; 30 31 //Linear elements by default 32 this.fe='P1'; 30 33 31 34 //default output … … 46 49 fielddisplay(this,'isenthalpy','use an enthalpy formulation to include temperate ice (default is 0)'); 47 50 fielddisplay(this,'isdynamicbasalspc','enable dynamic setting of basal forcing. required for enthalpy formulation (default is 0)'); 51 fielddisplay(this,'fe','Finite Element type: "P1" (default), "P1xP2"'); 48 52 fielddisplay(this,'requested_outputs','additional outputs requested'); 49 53 … … 88 92 checkfield(md,'fieldname','thermal.stabilization','numel',[1],'values',[0 ,1, 2]); 89 93 checkfield(md,'fieldname','thermal.spctemperature','Inf',1,'timeseries',1); 94 checkfield(md,'fieldname','thermal.fe','values',{'P1','P1xP2','P1xP3'}); 90 95 if(ArrayAnyEqual(ArrayIsMember('EnthalpyAnalysis',analyses),1) & md.thermal.isenthalpy & md.mesh.dimension() == 3){ 91 96 … … 122 127 WriteData(fid,prefix,'object',this,'fieldname','penalty_factor','format','Double'); 123 128 WriteData(fid,prefix,'object',this,'fieldname','isenthalpy','format','Boolean'); 129 WriteData(fid,prefix,'object',this,'fieldname','fe','format','String'); 124 130 WriteData(fid,prefix,'object',this,'fieldname','isdynamicbasalspc','format','Boolean'); 125 131 … … 149 155 this.penalty_threshold = 0; 150 156 this.stabilization = 0; 151 this.reltol 157 this.reltol = 0; 152 158 this.maxiter = 0; 153 159 this.penalty_lock = 0; … … 155 161 this.isenthalpy = 0; 156 162 this.isdynamicbasalspc = 0; 163 this.fe = 'P1'; 157 164 this.requested_outputs = []; 158 165 -
issm/trunk-jpl/src/m/classes/trans.js
r21945 r22483 20 20 this.ishydrology = 0; 21 21 this.isslr = 0; 22 this.isoceancoupling = 0; 22 23 this.iscoupler = 0; 23 24 this.amr_frequency = 0; … … 42 43 fielddisplay(this,'ishydrology','indicates whether an hydrology model is used'); 43 44 fielddisplay(this,'isslr','indicates whether a sea-level rise model is used'); 45 fielddisplay(this,'isoceancoupling','indicates whether a coupling with an ocean model is used in the transient'); 44 46 fielddisplay(this,'iscoupler','indicates whether different models are being run with need for coupling'); 45 47 fielddisplay(this,'amr_frequency','frequency at which mesh is refined in simulations with multiple time_steps'); … … 56 58 if (solution!='TransientSolution') return; 57 59 58 checkfield(md,'fieldname','trans.issmb','numel',[1],'values',[0 ,1]);59 checkfield(md,'fieldname','trans.ismasstransport','numel',[1],'values',[0 ,1]);60 checkfield(md,'fieldname','trans.isstressbalance','numel',[1],'values',[0 ,1]);61 checkfield(md,'fieldname','trans.isthermal','numel',[1],'values',[0 ,1]);60 checkfield(md,'fieldname','trans.issmb','numel',[1],'values',[0, 1]); 61 checkfield(md,'fieldname','trans.ismasstransport','numel',[1],'values',[0, 1]); 62 checkfield(md,'fieldname','trans.isstressbalance','numel',[1],'values',[0, 1]); 63 checkfield(md,'fieldname','trans.isthermal','numel',[1],'values',[0, 1]); 62 64 checkfield(md,'fieldname','trans.isgroundingline','numel',[1],'values',[0, 1]); 63 65 checkfield(md,'fieldname','trans.isgia','numel',[1],'values',[0, 1]); … … 65 67 checkfield(md,'fieldname','trans.isdamageevolution','numel',[1],'values',[0, 1]); 66 68 checkfield(md,'fieldname','trans.ismovingfront','numel',[1],'values',[0, 1]); 67 checkfield(md,'fieldname','trans.ishydrology','numel',[1],'values',[0 ,1]); 68 checkfield(md,'fieldname','trans.iscoupler','numel',[1],'values',[0 ,1]); 69 checkfield(md,'fieldname','trans.isslr','numel',[1],'values',[0 ,1]); 69 checkfield(md,'fieldname','trans.ishydrology','numel',[1],'values',[0, 1]); 70 checkfield(md,'fieldname','trans.isslr','numel',[1],'values',[0, 1]); 71 checkfield(md,'fieldname','trans.isoceancoupling','numel',[1],'values',[0, 1]); 72 checkfield(md,'fieldname','trans.iscoupler','numel',[1],'values',[0, 1]); 70 73 checkfield(md,'fieldname','trans.amr_frequency','numel',[1],'>=',0,'NaN',1,'Inf',1); 71 74 checkfield(md,'fieldname','trans.requested_outputs','stringrow',1); … … 85 88 WriteData(fid,prefix,'object',this,'fieldname','ismovingfront','format','Boolean'); 86 89 WriteData(fid,prefix,'object',this,'fieldname','isslr','format','Boolean'); 90 WriteData(fid,prefix,'object',this,'fieldname','isoceancoupling','format','Boolean'); 87 91 WriteData(fid,prefix,'object',this,'fieldname','iscoupler','format','Boolean'); 88 92 WriteData(fid,prefix,'object',this,'fieldname','amr_frequency','format','Integer'); … … 119 123 this.ishydrology = 0; 120 124 this.isslr = 0; 125 this.isoceancoupling = 0; 121 126 this.iscoupler = 0; 122 this.amr_frequency = 0;127 this.amr_frequency = 0; 123 128 this.requested_outputs = []; 124 129
Note:
See TracChangeset
for help on using the changeset viewer.