Changeset 19787
- Timestamp:
- 11/22/15 21:49:27 (9 years ago)
- Location:
- issm/trunk-jpl
- Files:
-
- 4 added
- 26 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/m/array/arrayoperations.js
r19780 r19787 141 141 for (i=0;i<array.length;i++)sqrtarray[i]=Math.sqrt(array[i]); 142 142 return sqrtarray; 143 } //}}} 144 function ArrayScale(array,alpha) { //{{{ 145 146 for (i=0;i<array.length;i++)array[i]=array[i]*alpha; 147 143 148 } //}}} 144 149 function ArrayMag(array1,array2) { //{{{ -
issm/trunk-jpl/src/m/classes/autodiff.js
r19759 r19787 31 31 32 32 }// }}} 33 this.checkconsistency = function(md,solution,analyses){ //{{{ 34 35 //Early return 36 if (!this.isautodiff) return; 37 38 //Driver value: 39 checkfield(md,'fieldname','autodiff.driver','values',['fos_forward','fov_forward','fov_forward_all','fos_reverse','fov_reverse','fov_reverse_all']); 40 41 //buffer values: 42 checkfield(md,'fieldname','autodiff.obufsize','>=',16); 43 checkfield(md,'fieldname','autodiff.lbufsize','>=',16); 44 checkfield(md,'fieldname','autodiff.cbufsize','>=',16); 45 checkfield(md,'fieldname','autodiff.tbufsize','>=',16); 46 checkfield(md,'fieldname','autodiff.gcTriggerRatio','>=',0); 47 checkfield(md,'fieldname','autodiff.gcTriggerMaxSize','>=',65536); 48 49 //go through our dependents and independents and check consistency: 50 for (var i=0;i<this.dependents.length;i++){ 51 dep=this.dependents[i]; 52 dep.checkconsistency(md,solution,analyses); 53 } 54 for (var i=0;i<this.independents.length;i++){ 55 indep=this.independents[i]; 56 indep.checkconsistency(md,i,solution,analyses,this.driver); 57 } 58 } // }}} 33 59 //properties 34 60 // {{{ -
issm/trunk-jpl/src/m/classes/balancethickness.js
r19759 r19787 20 20 21 21 }// }}} 22 this.checkconsistency = function(md,solution,analyses){ // {{{ 23 //Early return 24 if (solution!=BalancethicknessSolutionEnum())return; 25 26 checkfield(md,'fieldname','balancethickness.spcthickness'); 27 checkfield(md,'fieldname','balancethickness.thickening_rate','size',[md.mesh.numberofvertices ,1],'NaN',1); 28 checkfield(md,'fieldname','balancethickness.stabilization','size',[1, 1],'values',[0, 1, 2 ,3]); 29 //checkfield(md,'fieldname','balancethickness.omega','size',[md.mesh.numberofvertices ,1],'NaN',1,'>=',0); 30 } //}}} 22 31 //properties 23 32 // {{{ -
issm/trunk-jpl/src/m/classes/calving.js
r19759 r19787 21 21 22 22 }// }}} 23 this.checkconsistency = function(md,solution,analyses) { // {{{ 24 //Early return 25 if (solution!=TransientSolutionEnum() | md.transient.iscalving==0) return; 26 27 checkfield(md,'fieldname','calving.spclevelset','timeseries',1); 28 checkfield(md,'fieldname','calving.stabilization','values',[0,1,2]); 29 checkfield(md,'fieldname','calving.calvingrate(1:md.mesh.numberofvertices,:)','>=',0,'timeseries',1,'NaN',1); 30 checkfield(md,'fieldname','calving.meltingrate(1:md.mesh.numberofvertices,:)','>=',0,'timeseries',1,'NaN',1); 31 } //}}} 23 32 //properties 24 33 // {{{ -
issm/trunk-jpl/src/m/classes/clusters/generic.js
r19753 r19787 36 36 console.log(sprintf(' shell: %s',this.shell)); 37 37 }// }}} 38 this.checkconsistency = function (md,solution,analyses) { //{{{ 39 if (cluster.np<1){ 40 md.checkmessage('number of processors should be at least 1'); 41 } 42 if (isNaN(cluster.np)){ 43 md.checkmessage('number of processors should not be NaN!'); 44 } 45 } //}}} 38 46 //properties 39 47 // {{{ -
issm/trunk-jpl/src/m/classes/flaim.js
r19759 r19787 37 37 38 38 }// }}} 39 this.checkconsistency = function(md,solution,analyses) { // {{{ 40 41 //Early return 42 if (solution!=FlaimSolutionEnum()) return; 43 44 checkfield(md,'fieldname','flaim.tracks','file',1); 45 if (isNaN(md.flaim.criterion) | md.flaim.criterion.length==0){ 46 checkfield(md,'fieldname','flaim.targets','file',1); 47 } 48 else{ 49 checkfield(md,'fieldname','flaim.criterion','numel',[md.mesh.numberofvertices, md.mesh.numberofelements]); 50 } 51 } //}}} 39 52 //properties 40 53 // {{{ -
issm/trunk-jpl/src/m/classes/gia.js
r19759 r19787 20 20 21 21 }// }}} 22 this.checkconsistency = function(md,solution,analyses) { // {{{ 23 24 if(!ArrayAnyEqual(ArrayIsMember(GiaAnalysisEnum(),analyses),1))return; 25 26 checkfield(md,'fieldname','gia.mantle_viscosity','NaN',1,'size',[md.mesh.numberofvertices,1],'>',0); 27 checkfield(md,'fieldname','gia.lithosphere_thickness','NaN',1,'size',[md.mesh.numberofvertices,1],'>',0); 28 checkfield(md,'fieldname','gia.cross_section_shape','numel',[1],'values',[1,2]); 29 30 //be sure that if we are running a masstransport ice flow model coupled with gia, that thickness forcings 31 //are not provided into the future. 32 if (solution==TransientSolutionEnum() & md.transient.ismasstransport & md.transient.isgia){ 33 //figure out if thickness is a transient forcing: 34 if (md.geometry.thickness.length == (md.mesh.numberofvertices+1)){ 35 //recover the furthest time "in time": 36 t=md.geometry.thickness[0].length; 37 if(md.geometry.thickness[md.geometry.thickness.length-1][t-1]!=md.timestepping.start_time){ 38 md.checkmessage('if ismasstransport is on, transient thickness forcing for the gia model should not be provided in the future. Synchronize your start_time to correspond to the most recent transient thickness forcing timestep'); 39 } 40 } 41 } 42 } // }}} 22 43 //properties 23 44 // {{{ -
issm/trunk-jpl/src/m/classes/groundingline.js
r19753 r19787 17 17 18 18 }// }}} 19 this.checkconsistency = function(md,solution,analyses) {// {{{ 20 21 checkfield(md,'fieldname','groundingline.migration','values',['None', 'AggressiveMigration', 'SoftMigration', 'SubelementMigration', 'SubelementMigration2', 'Contact', 'None', 'GroundingOnly']); 22 23 if (this.migration !='None'){ 24 if (isNaN(md.geometry.bed)){ 25 md.checkmessage('requesting grounding line migration, but bathymetry is absent!'); 26 } 27 for (var i=0;i<md.mesh.numberofvertices;i++){ 28 if(md.mask.groundedice_levelset[i]>0){ 29 md.checkmessage('base not equal to bed on grounded ice!'); 30 break; 31 } 32 if(md.geometry.bed[i] - md.geometry.base[i] > Math.pow(10,-9)){ 33 md = checkmessage(md,'bed superior to base on floating ice!'); 34 break; 35 } 36 } 37 } 38 } // }}} 19 39 //properties 20 40 // {{{ -
issm/trunk-jpl/src/m/classes/hydrologyshreve.js
r19780 r19787 23 23 return "hydrologyshreve"; 24 24 }// }}} 25 this.checkconsistency = function(md,solution,analyses) { //{{{ 26 27 //Early return 28 if(!ArrayAnyEqual(ArrayIsMember(HydrologyShreveAnalysisEnum(),analyses),1)) return; 29 30 checkfield(md,'fieldname','hydrology.spcwatercolumn','timeseries',1); 31 checkfield(md,'fieldname','hydrology.stabilization','>=',0); 32 33 } // }}} 25 34 //properties 26 35 // {{{ -
issm/trunk-jpl/src/m/classes/inversion.js
r19759 r19787 75 75 76 76 }// }}} 77 this.checkconsistency = function(md,solution,analyses) { //{{{ 78 79 //Early return 80 if (!this.iscontrol) return; 81 82 num_controls=md.inversion.control_parameters.length; 83 num_costfunc=md.inversion.control_parameters[0].length; 84 85 checkfield(md,'fieldname','inversion.iscontrol','values',[0, 1]); 86 checkfield(md,'fieldname','inversion.incomplete_adjoint','values',[0 ,1]); 87 checkfield(md,'fieldname','inversion.control_parameters','cell',1,'values',supportedcontrols()); 88 checkfield(md,'fieldname','inversion.nsteps','numel',1,'>=',0); 89 checkfield(md,'fieldname','inversion.maxiter_per_step','size',[md.inversion.nsteps, 1],'>=',0); 90 checkfield(md,'fieldname','inversion.step_threshold','size',[md.inversion.nsteps, 1]); 91 checkfield(md,'fieldname','inversion.cost_functions','size',[1, num_costfunc],'values',supportedcostfunctions()); 92 checkfield(md,'fieldname','inversion.cost_functions_coefficients','size',[md.mesh.numberofvertices, num_costfunc],'>=',0); 93 checkfield(md,'fieldname','inversion.gradient_scaling','size',[md.inversion.nsteps, num_controls]); 94 checkfield(md,'fieldname','inversion.min_parameters','size',[md.mesh.numberofvertices , num_controls]); 95 checkfield(md,'fieldname','inversion.max_parameters','size',[md.mesh.numberofvertices ,num_controls]); 96 97 //Only SSA, HO and FS are supported right now 98 if (solution==StressbalanceSolutionEnum()){ 99 if (!(md.flowequation.isSSA | md.flowequation.isHO | md.flowequation.isFS | md.flowequation.isL1L2)){ 100 md.checkmessage('inversion can only be performed for SSA, HO or FS ice flow models'); 101 } 102 } 103 104 if (solution==BalancethicknessSolutionEnum()){ 105 checkfield(md,'fieldname','inversion.thickness_obs','size',[md.mesh.numberofvertices ,1],'NaN',1); 106 } 107 else if (solution==BalancethicknessSoftSolutionEnum()){ 108 checkfield(md,'fieldname','inversion.thickness_obs','size',[md.mesh.numberofvertices, 1],'NaN',1); 109 } 110 else{ 111 checkfield(md,'fieldname','inversion.vx_obs','size',[md.mesh.numberofvertices ,1],'NaN',1); 112 checkfield(md,'fieldname','inversion.vy_obs','size',[md.mesh.numberofvertices ,1],'NaN',1); 113 } 114 } // }}} 77 115 //properties 78 116 // {{{ -
issm/trunk-jpl/src/m/classes/masstransport.js
r19759 r19787 38 38 39 39 }// }}} 40 this.checkconsistency = function (md,solution,analyses){ // {{{ 41 42 //Early return 43 if(!ArrayAnyEqual(ArrayIsMember(HydrologyShreveAnalysisEnum(),analyses),1) | (solution==TransientSolutionEnum() & md.transient.ismasstransport==0)) return; 44 45 checkfield(md,'fieldname','masstransport.spcthickness','timeseries',1); 46 checkfield(md,'fieldname','masstransport.isfreesurface','values',[0 ,1]); 47 checkfield(md,'fieldname','masstransport.hydrostatic_adjustment','values',['Absolute', 'Incremental']); 48 checkfield(md,'fieldname','masstransport.stabilization','values',[0,1,2,3,4]); 49 checkfield(md,'fieldname','masstransport.min_thickness','>',0); 50 checkfield(md,'fieldname','masstransport.requested_outputs','stringrow',1); 51 52 } // }}} 40 53 //properties 41 54 // {{{ -
issm/trunk-jpl/src/m/classes/miscellaneous.js
r19759 r19787 17 17 18 18 }// }}} 19 this.checkconsistency= function(md,solution,analyses) {// {{{ 20 21 checkfield(md,'fieldname','miscellaneous.name','empty',1); 22 }// }}} 19 23 //properties 20 24 // {{{ -
issm/trunk-jpl/src/m/classes/outputdefinition.js
r19759 r19787 15 15 16 16 }// }}} 17 this.checkconsistency = function(md,solution,analyses) { //{{{ 18 19 checkfield(md,'fieldname','outputdefinition.definitions','cell',1); 20 21 for (var i=0;i<this.definitions.length;i++){ 22 this.definitions[i].checkconsistency(md,solution,analyses); 23 } 24 25 } // }}} 17 26 //properties 18 27 // {{{ -
issm/trunk-jpl/src/m/classes/private.js
r19759 r19787 16 16 fielddisplay(this,'solution','type of solution launched'); 17 17 }// }}} 18 this.checkconsistency = function(md,solution,analyses){ // {{{ 19 20 }// % }}} 18 21 //properties 19 22 // {{{ -
issm/trunk-jpl/src/m/classes/qmu.js
r19759 r19787 90 90 91 91 }// }}} 92 this.checkconsistency = function(md,solution,analyses) { //{{{ 93 94 ///Early return 95 if (!md.qmu.isdakota) return; 96 else md.checkmessage('qmu runs not supported yet!'); 97 98 } // }}} 92 99 //properties 93 100 // {{{ -
issm/trunk-jpl/src/m/classes/rifts.js
r19753 r19787 13 13 fielddisplay(this,'riftproperties',''); 14 14 }// }}} 15 this.checkconsistency = function(md,solution,analyses) { //{{{ 16 if (isNaN(this.riftstruct) | this.riftstruct.length==0){ 17 numrifts=0; 18 } 19 else{ 20 numrifts=this.riftstruct.length; 21 } 22 if (numrifts){ 23 if (!(md.mesh.domaintype() == '2Dhorizontal')){ 24 md.checkmessage('models with rifts are only supported in 2d for now!'); 25 } 26 if (!IsArray(this.riftstruct)){ 27 md.checkmessage('rifts.riftstruct should be a structure!'); 28 } 29 for(var i=0;i<md.mesh.segmentmarkers.length;i++){ 30 if (md.mesh.segmentmarkers[i]>=2){ 31 //We have segments with rift markers, but no rift structure! 32 md.checkmessage(['model should be processed for rifts (run meshprocessrifts)!']); 33 break; 34 } 35 } 36 for (var i=0;i<numrifts;i++){ 37 md = checkfield(md,'fieldname',sprintf('rifts.riftstruct[%i].fill',i),'values',[WaterEnum(), AirEnum(), IceEnum(), MelangeEnum()]); 38 } 39 } 40 else{ 41 if (!isNaN(this.riftstruct)) md.checkmessage('riftstruct should be NaN since numrifts is 0!'); 42 } 43 } //}}} 15 44 //properties 16 45 // {{{ -
issm/trunk-jpl/src/m/classes/settings.js
r19753 r19787 33 33 34 34 }// }}} 35 this.checkconsistency = function(md,solution,analyses) { // {{{ 36 37 checkfield(md,'fieldname','settings.results_on_nodes','numel',[1],'values',[0, 1]); 38 checkfield(md,'fieldname','settings.io_gather','numel',[1],'values',[0, 1]); 39 checkfield(md,'fieldname','settings.lowmem','numel',[1],'values',[0, 1]); 40 checkfield(md,'fieldname','settings.output_frequency','numel',[1],'>=',1); 41 checkfield(md,'fieldname','settings.recording_frequency','numel',[1],'>=',0); 42 checkfield(md,'fieldname','settings.waitonlock','numel',[1]); 43 } // }}} 35 44 //properties 36 45 // {{{ -
issm/trunk-jpl/src/m/classes/steadystate.js
r19759 r19787 28 28 29 29 }// }}} 30 this.checkconsistency = function(md,solution,analyses) {// {{{ 31 32 //Early return 33 if (solution!=SteadystateSolutionEnum()) return; 34 35 if (md.timestepping.time_step!=0){ 36 md.checkmessage('for a steadystate computation, timestepping.time_step must be zero.'); 37 } 38 checkfield(md,'fieldname','steadystate.requested_outputs','stringrow',1); 39 40 if (isNaN(md.stressbalance.reltol)){ 41 md.checkmessage('for a steadystate computation, stressbalance.reltol (relative convergence criterion) must be defined!'); 42 } 43 } // }}} 30 44 //properties 31 45 // {{{ -
issm/trunk-jpl/src/m/classes/stressbalance.js
r19759 r19787 73 73 74 74 }// }}} 75 this.checkconsistency = function(md,solution,analyses) { //{{{ 76 77 //Early return 78 if(ArrayAnyEqual(ArrayIsMember(StressbalanceAnalysisEnum(),analyses),0))return; 79 80 checkfield(md,'fieldname','stressbalance.spcvx','timeseries',1); 81 checkfield(md,'fieldname','stressbalance.spcvy','timeseries',1); 82 checkfield(md,'fieldname','stressbalance.spcvz','timeseries',1); 83 checkfield(md,'fieldname','stressbalance.restol','size',[1, 1],'>',0,'NaN',1); 84 checkfield(md,'fieldname','stressbalance.reltol','size',[1, 1]); 85 checkfield(md,'fieldname','stressbalance.abstol','size',[1, 1]); 86 checkfield(md,'fieldname','stressbalance.isnewton','numel',[1],'values',[0, 1, 2]); 87 checkfield(md,'fieldname','stressbalance.FSreconditioning','size',[1, 1],'NaN',1); 88 checkfield(md,'fieldname','stressbalance.viscosity_overshoot','size',[1, 1],'NaN',1); 89 checkfield(md,'fieldname','stressbalance.maxiter','size',[1, 1],'>=',1); 90 checkfield(md,'fieldname','stressbalance.referential','size',[md.mesh.numberofvertices, 6]); 91 checkfield(md,'fieldname','stressbalance.loadingforce','size',[md.mesh.numberofvertices, 3]); 92 checkfield(md,'fieldname','stressbalance.requested_outputs','stringrow',1); 93 94 //singular solution 95 if(!ArrayAnyNaN(md.stressbalance.spcvx) | !ArrayAnyNaN(md.stressbalance.spcvy) | !ArrayAnyAboveStrict(md.mask.groundedice_levelset,0)){ 96 md = checkmessage(md,'model is not well posed (singular). You need at least one node with fixed velocity!'); 97 console.log(sprintf('\n !!! Warning: no spc applied, model might not be well posed if no basal friction is applied, check for solution crash\n')); 98 } 99 //CHECK THAT EACH LINES CONTAINS ONLY NAN VALUES OR NO NAN VALUES 100 for(var i=0;i<md.stressbalance.referential.length;i++){ 101 var sum=0; 102 for(j=0;j<md.stressbalance.referential[0].length;j++)sum+=md.stressbalance.referential[i][j]; 103 if (sum!=0 & sum!=6){ 104 md = checkmessage(md,'Each line of stressbalance.referential should contain either only NaN values or no NaN values'); 105 break; 106 } 107 } 108 //CHECK THAT THE TWO VECTORS PROVIDED ARE ORTHOGONAL 109 for(var i=0;i<md.stressbalance.referential.length;i++){ 110 var sum=0; 111 for(j=0;j<md.stressbalance.referential[0].length;j++)sum+=md.stressbalance.referential[i][j]; 112 if(sum==0){ 113 var dot=0; 114 for(j=0;j<3;j++)dot+=md.stressbalance.referential[i][j]*md.stressbalance.referential[i][j+3]; 115 dot=Math.abs(dot); 116 if(dot>Math.pow(10,-18)){ 117 md.checkmessage('Vectors in stressbalance.referential (columns 1 to 3 and 4 to 6) must be orthogonal'); 118 break; 119 } 120 } 121 } 122 //CHECK THAT NO rotation specified for FS Grounded ice at base 123 if (md.mesh.domaintype() == '3D' & md.flowequation.isFS){ 124 for(var i=0;i<md.mask.groundedice_levelset.length;i++){ 125 if(md.mask.groundedice_levelset[i]>0 & md.mesh.vertexonbase[i]){ 126 if(!ArrayIsNan(md.stressbalance.referential[i])){ 127 md.checkmessage('no referential should be specified for basal vertices of grounded ice'); 128 break; 129 } 130 } 131 } 132 checkfield(md,'fieldname','stressbalance.FSreconditioning','>',0); 133 } 134 } // }}} 75 135 //properties 76 136 // {{{ -
issm/trunk-jpl/src/m/classes/thermal.js
r19759 r19787 49 49 50 50 }// }}} 51 this.checkconsistency = function(md,solution,analyses){ // {{{ 52 53 //Early return 54 if(!ArrayAnyEqual(ArrayIsMember(ThermalAnalysisEnum(),analyses),1) & !ArrayAnyEqual(ArrayIsMember(EnthalpyAnalysisEnum(),analyses),1) | (solution == TransientSolutionEnum() & md.transient.isthermal==0)) return; 55 56 checkfield(md,'fieldname','thermal.stabilization','numel',[1],'values',[0 ,1, 2]); 57 checkfield(md,'fieldname','thermal.spctemperature','timeseries',1); 58 if(ArrayAnyEqual(ArrayIsMember(EnthalpyAnalysisEnum(),analyses),1) & md.thermal.isenthalpy & md.mesh.dimension() == 3){ 59 60 for(var i=0;i<md.mesh.numberofvertices;i++){ 61 for(var j=0;j<md.thermal.spctemperature[0].length;j++){ 62 if (!isNaN(md.thermal.spctemperature[i][j])){ 63 var rep=md.geometry.surface[i]-md.mesh.z[i]; 64 if (md.thermal.spctemperature[i][j] <= md.materials.melting-md.materials.beta*md.materials.rho_ice*md.constants.g*rep+Math.pow(10,-5)){ 65 66 md.checkmessage('spctemperature should be less or equal than the adjusted melting point'); 67 break; 68 } 69 } 70 } 71 } 72 checkfield(md,'fieldname','thermal.isenthalpy','numel',[1],'values',[0, 1]); 73 checkfield(md,'fieldname','thermal.isdynamicbasalspc','numel', [1],'values',[0, 1]); 74 if(md.thermal.isenthalpy){ 75 if (isNan(md.stressbalance.reltol)){ 76 md.checkmessage('for a steadystate computation, thermal.reltol (relative convergence criterion) must be defined!'); 77 } 78 } 79 checkfield(md,'fieldname','thermal.reltol','>',0.,'message','reltol must be larger than zero'); 80 } 81 checkfield(md,'fieldname','thermal.requested_outputs','stringrow',1); 82 } // }}} 51 83 //properties 52 84 // {{{ -
issm/trunk-jpl/src/m/classes/toolkits.js
r19753 r19787 30 30 } 31 31 }// }}} 32 this.disp = function(){// {{{32 this.disp = function(){// {{{ 33 33 console.log(sprintf('List of toolkits options per analysis:\n')); 34 34 for(var prop in this){ … … 38 38 } 39 39 }// }}} 40 this.checkconsistency = function (md,solution,analyses) { // {{{ 41 for(var prop in this){ 42 if(typeof this[prop] == 'object'){ 43 if (this[prop] == ''){ 44 md.checkmessage(sprintf("md.toolkits.%s is empty",prop)); 45 } 46 } 47 } 48 } // }}} 40 49 //properties 41 50 // {{{ -
issm/trunk-jpl/src/m/classes/transient.js
r19759 r19787 42 42 43 43 }// }}} 44 this.checkconsistency = function(md,solution,analyses) { // {{{ 45 46 //Early return 47 if (solution!=TransientSolutionEnum()) return; 48 49 checkfield(md,'fieldname','transient.issmb','numel',[1],'values',[0 ,1]); 50 checkfield(md,'fieldname','transient.ismasstransport','numel',[1],'values',[0 ,1]); 51 checkfield(md,'fieldname','transient.isstressbalance','numel',[1],'values',[0 ,1]); 52 checkfield(md,'fieldname','transient.isthermal','numel',[1],'values',[0 ,1]); 53 checkfield(md,'fieldname','transient.isgroundingline','numel',[1],'values',[0, 1]); 54 checkfield(md,'fieldname','transient.isgia','numel',[1],'values',[0, 1]); 55 checkfield(md,'fieldname','transient.isdamageevolution','numel',[1],'values',[0, 1]); 56 checkfield(md,'fieldname','transient.islevelset','numel',[1],'values',[0, 1]); 57 checkfield(md,'fieldname','transient.iscalving','numel',[1],'values',[0, 1]); 58 checkfield(md,'fieldname','transient.ishydrology','numel',[1],'values',[0 ,1]); 59 checkfield(md,'fieldname','transient.requested_outputs','stringrow',1); 60 } // }}} 44 61 //properties 45 62 // {{{ -
issm/trunk-jpl/src/m/classes/verbose.js
r19753 r19787 40 40 //ENDDISP 41 41 }// }}} 42 this.checkconsistency = function(md,solution,analyses){ // {{{ 43 44 } // }}} 42 45 //properties 43 46 // {{{ -
issm/trunk-jpl/src/m/consistency/ismodelselfconsistent.js
r19780 r19787 24 24 continue; 25 25 } 26 console.log(field);27 26 28 27 //Check consistency of the class -
issm/trunk-jpl/src/wrappers/javascript/Makefile.am
r19768 r19787 83 83 ../IssmConfig/IssmConfig.cpp\ 84 84 ../EnumToString/EnumToString.cpp\ 85 ../StringToEnum/StringToEnum.cpp 85 ../StringToEnum/StringToEnum.cpp\ 86 ../../c/main/issm.cpp 86 87 87 IssmModule_CXXFLAGS= -fPIC -D_DO_NOT_LOAD_GLOBALS_ --memory-init-file 0 $(AM_CXXFLAGS) $(CXXFLAGS) $(CXXOPTFLAGS) $(COPTFLAGS) -s EXPORTED_FUNCTIONS="['_TriMeshModule','_NodeConnectivityModule','_ElementConnectivityModule','_InterpFromMeshToMesh2dModule','_IssmConfigModule','_EnumToStringModule','_StringToEnumModule' ]" -s DISABLE_EXCEPTION_CATCHING=0 -s ALLOW_MEMORY_GROWTH=188 IssmModule_CXXFLAGS= -fPIC -D_DO_NOT_LOAD_GLOBALS_ --memory-init-file 0 $(AM_CXXFLAGS) $(CXXFLAGS) $(CXXOPTFLAGS) $(COPTFLAGS) -s EXPORTED_FUNCTIONS="['_TriMeshModule','_NodeConnectivityModule','_ElementConnectivityModule','_InterpFromMeshToMesh2dModule','_IssmConfigModule','_EnumToStringModule','_StringToEnumModule','_main']" -s DISABLE_EXCEPTION_CATCHING=0 -s ALLOW_MEMORY_GROWTH=1 88 89 IssmModule_LDADD = ${deps} $(TRIANGLELIB) 89 90 #}}} -
issm/trunk-jpl/test/NightlyRun/test101.html
r19786 r19787 69 69 <script type="text/javascript" src="../../src/m/enum/EnumDefinitions.js"></script> 70 70 <script type="text/javascript" src="../../src/m/solvers/issmgslsolver.js"></script> 71 <script type="text/javascript" src="../../src/m/io/fileptr.js"></script> 71 72 <script type="text/javascript" src="../../src/m/solve/solve.js"></script> 73 <script type="text/javascript" src="../../src/m/solve/marshall.js"></script> 74 <script type="text/javascript" src="../../src/m/solve/WriteData.js"></script> 72 75 <script type="text/javascript" src="../../src/wrappers/TriMesh/TriMesh.js"></script> 73 76 <script type="text/javascript" src="../../src/wrappers/EnumToString/EnumToString.js"></script> … … 78 81 <script type="text/javascript" src="../../src/wrappers/InterpFromMeshToMesh2d/InterpFromMeshToMesh2d.js"></script> 79 82 <script type="text/javascript" src="../../build-js/src/wrappers/javascript/IssmModule.js"></script> 83 <script type="text/javascript" src="../../src/c/main/issm.js"></script> 80 84 <script type="text/javascript" src="../../externalpackages/javascript/src/sprintf.js"></script> 81 85 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> … … 91 95 setmask(md,'all',''); 92 96 parameterize(md); 93 94 //setflowequation(md,'SSA','all'); 95 //md=solve(md,StressbalanceSolutionEnum()); 97 setflowequation(md,'SSA','all'); 98 md=solve(md,StressbalanceSolutionEnum()); 96 99 97 plotmodel(md,'data',md.initialization.vel,'colorbar','on', 'data',md.initialization.vx, 98 'data',md.initialization.temperature, 'data',md.basalforcings.floatingice_melting_rate,'data','mesh'); 100 /*plotmodel(md,'data',md.initialization.vel,'colorbar','on','data',md.initialization.vx, 101 'data',md.initialization.temperature, 'data',md.basalforcings.floatingice_melting_rate,'data','mesh'); 102 //var output=issm([5,1,1]);*/ 99 103 100 104
Note:
See TracChangeset
for help on using the changeset viewer.