Changeset 19860


Ignore:
Timestamp:
12/05/15 22:58:08 (9 years ago)
Author:
Eric.Larour
Message:

CHG (JAVASCRIPT): fixed some issues with segfaults.

Location:
issm/trunk-jpl/src/m/classes
Files:
34 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/m/classes/SMBforcing.js

    r19793 r19860  
    77        //methods
    88        this.setdefaultparameters = function(){// {{{
     9                this.requested_outputs=['default'];
    910        } // }}}
    1011        this.disp = function(){ // {{{
     
    4647                       
    4748                        //process requested outputs
    48                         outputs = this.requested_outputs;
     49                        var outputs = this.requested_outputs.slice();
    4950                        for (var i=0;i<outputs.length;i++){
    5051                                if (outputs[i] == 'default') {
    5152                                        outputs.splice(i,1);
    52                                         newoutputs=this.defaultoutputs(md);
     53                                        var newoutputs=this.defaultoutputs(md);
    5354                                        for (var j=0;j<newoutputs.length;j++) outputs.push(newoutputs[j]);
    5455                                }
     
    5758
    5859                }//}}}
     60                this.fix=function() { //{{{
     61                }//}}}
    5962        //properties
    6063        this.mass_balance = NaN;
  • issm/trunk-jpl/src/m/classes/autodiff.js

    r19791 r19860  
    209209                        //}}}
    210210                }//}}}
     211                this.fix=function() { //{{{
     212                        this.obufsize=NullFix(this.obufsize,NaN);
     213                        this.lbufsize=NullFix(this.lbufsize,NaN);
     214                        this.cbufsize=NullFix(this.cbufsize,NaN);
     215                        this.tbufsize=NullFix(this.tbufsize,NaN);
     216                        this.gcTriggerRatio=NullFix(this.gcTriggerRatio,NaN);
     217                        this.gcTriggerMaxSize=NullFix(this.gcTriggerMaxSize,NaN);
     218                }//}}}
    211219        //properties
    212220        // {{{
    213221        this.isautodiff   = false;
    214         this.dependents   = {};
    215         this.independents = {};
     222        this.dependents   = [];
     223        this.independents = [];
    216224        this.driver       = 'fos_forward';
    217225        this.obufsize     = NaN;
  • issm/trunk-jpl/src/m/classes/balancethickness.js

    r19793 r19860  
    1717                fielddisplay(this,'spcthickness','thickness constraints (NaN means no constraint) [m]');
    1818                fielddisplay(this,'thickening_rate','ice thickening rate used in the mass conservation (dh/dt) [m/yr]');
    19                 fielddisplay(this,"stabilization','0: None, 1: SU, 2: SSA's artificial diffusivity, 3:DG");
     19                fielddisplay(this,'stabilization',"0: None, 1: SU, 2: SSA's artificial diffusivity, 3:DG");
    2020
    2121        }// }}}
     
    4343
    4444                }//}}}
     45                this.fix=function() { //{{{
     46                        this.spcthickness=NullFix(this.spcthickness,NaN);
     47                        this.thicknening_rate=NullFix(this.thicknening_rate,NaN);
     48                        this.omega=NullFix(this.omega,NaN);
     49                }//}}}
    4550        //properties
    4651        // {{{
  • issm/trunk-jpl/src/m/classes/basalforcings.js

    r19828 r19860  
    6363                        WriteData(fid,'object',this,'fieldname','geothermalflux','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1);
    6464                }//}}}
     65                this.fix=function() { //{{{
     66                }//}}}
    6567        //properties
    6668        //{{{
  • issm/trunk-jpl/src/m/classes/calving.js

    r19828 r19860  
    3434        } //}}}
    3535                this.marshall=function(md,fid) { //{{{
    36                         yts=365.0*24.0*3600.0;
     36                        var yts=365.0*24.0*3600.0;
    3737                        WriteData(fid,'enum',CalvingLawEnum(),'data',DefaultCalvingEnum(),'format','Integer');
    3838                        WriteData(fid,'enum',LevelsetStabilizationEnum(),'data',this.stabilization,'format','Integer');
     
    4040                        WriteData(fid,'object',this,'fieldname','calvingrate','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'scale',1./yts);
    4141                        WriteData(fid,'object',this,'fieldname','meltingrate','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'scale',1./yts);
     42                }//}}}
     43                this.fix=function() { //{{{
     44                        this.spclevelset=NullFix(this.spclevelset,NaN);
     45                        this.calvingrate=NullFix(this.calvingrate,NaN);
     46                        this.meltingrate=NullFix(this.meltingrate,NaN);
    4247                }//}}}
    4348        //properties
  • issm/trunk-jpl/src/m/classes/constants.js

    r19791 r19860  
    4646                        WriteData(fid,'object',this,'fieldname','referencetemperature','format','Double');
    4747                }//}}}
     48                this.fix=function() { //{{{
     49                }//}}}
    4850        //properties
    4951        // {{{
  • issm/trunk-jpl/src/m/classes/damage.js

    r19793 r19860  
    115115
    116116                        //process requested outputs
    117                         outputs = this.requested_outputs;
     117                        var outputs = this.requested_outputs;
    118118                        for (var i=0;i<outputs.length;i++){
    119119                                if (outputs[i] == 'default') {
     
    126126                        }
    127127
     128                }//}}}
     129                this.fix=function() { //{{{
    128130                }//}}}
    129131                this.defaultoutputs = function(md){ //{{{
  • issm/trunk-jpl/src/m/classes/debug.js

    r19791 r19860  
    2323                        WriteData(fid,'object',this,'fieldname','profiling','format','Boolean');
    2424                }//}}}
     25                this.fix=function() { //{{{
     26                }//}}}
     27
    2528        //properties
    2629        // {{{
  • issm/trunk-jpl/src/m/classes/flowequation.js

    r19828 r19860  
    112112                       
    113113                        //some optimization:
    114                         noneap=NoneApproximationEnum();
    115                         siaap=SIAApproximationEnum();
    116                         ssaap=SSAApproximationEnum();
    117                         l1l2ap=L1L2ApproximationEnum();
    118                         hoap=HOApproximationEnum();
    119                         fsap=FSApproximationEnum();
    120                         ssahoap=SSAHOApproximationEnum();
    121                         hofsaap=HOFSApproximationEnum();
    122                         ssafsap=SSAFSApproximationEnum();
     114                        var noneap=NoneApproximationEnum();
     115                        var siaap=SIAApproximationEnum();
     116                        var ssaap=SSAApproximationEnum();
     117                        var l1l2ap=L1L2ApproximationEnum();
     118                        var hoap=HOApproximationEnum();
     119                        var fsap=FSApproximationEnum();
     120                        var ssahoap=SSAHOApproximationEnum();
     121                        var hofsaap=HOFSApproximationEnum();
     122                        var ssafsap=SSAFSApproximationEnum();
    123123
    124124                        for(var i=0;i<data.length;i++){
     
    150150
    151151                }//}}}
     152                this.fix=function() { //{{{
     153                }//}}}
    152154        //properties
    153155        // {{{
  • issm/trunk-jpl/src/m/classes/friction.js

    r19793 r19860  
    4040
    4141                }//}}}
     42                this.fix=function() { //{{{
     43                }//}}}
    4244        //properties
    4345        //{{{
  • issm/trunk-jpl/src/m/classes/geometry.js

    r19828 r19860  
    4646                        WriteData(fid,'object',this,'fieldname','hydrostatic_ratio','format','DoubleMat','mattype',1);
    4747                }//}}}
     48                this.fix=function() { //{{{
     49                        this.hydrostatic_ratio=NullFix(this.hydrostatic_ratio,NaN);
     50                }//}}}
    4851        //properties
    4952        // {{{
  • issm/trunk-jpl/src/m/classes/gia.js

    r19828 r19860  
    4949                        WriteData(fid,'object',this,'fieldname','cross_section_shape','format','Integer');
    5050                }//}}}
     51                this.fix=function() { //{{{
     52                        this.mantle_viscosity=NullFix(this.mantle_viscosity,NaN);
     53                        this.lithosphere_thickness=NullFix(this.lithosphere_thickness,NaN);
     54                }//}}}
    5155        //properties
    5256        // {{{
  • issm/trunk-jpl/src/m/classes/groundingline.js

    r19791 r19860  
    4343                        WriteData(fid,'data',StringToEnum(this.migration),'enum',GroundinglineMigrationEnum(),'format','Integer');
    4444                }//}}}
     45                this.fix=function() { //{{{
     46                }//}}}
    4547        //properties
    4648        // {{{
  • issm/trunk-jpl/src/m/classes/hydrologyshreve.js

    r19791 r19860  
    4141                        WriteData(fid,'object',this,'fieldname','stabilization','format','Double');
    4242                }//}}}
     43                this.fix=function() { //{{{
     44                        this.spcwatercolumn=NullFix(this.spcwatercolumn,NaN);
     45                }//}}}
    4346        //properties
    4447        // {{{
  • issm/trunk-jpl/src/m/classes/initialization.js

    r19834 r19860  
    108108                        }
    109109                }//}}}
     110                this.fix=function(md) { //{{{
     111                        this.vx=FloatFix(this.vx,md.mesh.numberofvertices);
     112                        this.vy=FloatFix(this.vx,md.mesh.numberofvertices);
     113                        this.vy=FloatFix(this.vx,md.mesh.numberofvertices);
     114                        this.waterfraction=NullFix(this.waterfraction,NaN);
     115                        this.sediment_head=NullFix(this.sediment_head,NaN);
     116                        this.epl_head=NullFix(this.epl_head,NaN);
     117                        this.epl_thickness=NullFix(this.epl_thickness,NaN);
     118                        this.watercolumn=NullFix(this.watercolumn,NaN);
     119                }//}}}
    110120        //properties
    111121        // {{{
  • issm/trunk-jpl/src/m/classes/inversion.js

    r19791 r19860  
    156156                        WriteData(fid,'data',num_cost_functions,'enum',InversionNumCostFunctionsEnum(),'format','Integer');
    157157                }//}}}
     158                this.fix=function() { //{{{
     159                        this.control_parameters=NullFix(this.control_parameters,NaN);
     160                        this.maxiter_per_step=NullFix(this.maxiter_per_step,NaN);
     161                        this.cost_functions=NullFix(this.cost_functions,NaN);
     162                        this.cost_functions_coefficients=NullFix(this.cost_functions_coefficients,NaN);
     163                        this.cost_function_threshold=NullFix(this.cost_function_threshold,NaN);
     164                        this.gradient_scaling=NullFix(this.gradient_scaling,NaN);
     165                        this.min_parameters=NullFix(this.min_parameters,NaN);
     166                        this.max_parameters=NullFix(this.max_parameters,NaN);
     167                        this.step_threshold=NullFix(this.step_threshold,NaN);
     168                        this.vx_obs=NullFix(this.vx_obs,NaN);
     169                        this.vy_obs=NullFix(this.vy_obs,NaN);
     170                        this.vz_obs=NullFix(this.vz_obs,NaN);
     171                        this.vel_obs=NullFix(this.vel_obs,NaN);
     172                        this.thickness_obs=NullFix(this.thickness_obs,NaN);
     173                        this.surface_obs=NullFix(this.surface_obs,NaN);
     174                }//}}}
    158175        //properties
    159176        // {{{
  • issm/trunk-jpl/src/m/classes/mask.js

    r19791 r19860  
    2626                        checkfield(md,'fieldname','mask.groundedice_levelset','size',[md.mesh.numberofvertices, 1]);
    2727                        checkfield(md,'fieldname','mask.ice_levelset'        ,'size',[md.mesh.numberofvertices, 1]);
    28                         isice=NewArrayFill(md.mesh.numberofvertices,0);
     28                        var isice=NewArrayFill(md.mesh.numberofvertices,0);
    2929                        for(var i=0;i<md.mesh.numberofvertices;i++)if(md.mask.ice_levelset[i]<=0)isice[i]=1;
    3030                        if (ArraySum(isice)==0){
     
    3535                        }
    3636                               
    37                         icefront=NewArrayFill(md.mesh.numberofelements,0);
     37                        var icefront=NewArrayFill(md.mesh.numberofelements,0);
    3838                        for(var i=0;i<md.mesh.numberofelements;i++){
    3939                                for(var j=0;j<md.mesh.elements[0].length;j++){
     
    4343                        if ((ArrayMax(icefront)==3 & (md.mesh.elementtype() == 'Tria')) | (ArrayMax(icefront)==6 & md.mesh.elementtype() == 'Penta')){
    4444                                if (md.mesh.elementtype()=='Tria'){
    45                                         pos=ArrayFindEqual(icefront,3); numberemptyelements=pos.length;
     45                                        var pos=ArrayFindEqual(icefront,3); numberemptyelements=pos.length;
    4646                                }
    4747                                else if (md.mesh.elementtype() == 'Penta'){
    48                                         pos=ArrayFindEqual(icefront,6); numberemptyelements=pos.length;
     48                                        var pos=ArrayFindEqual(icefront,6); numberemptyelements=pos.length;
    4949                                }
    5050                                throw Error(sprintf(" %i have all nodes on ice front, change md.mask.ice_levelset to fix it",numberemptyelements));
     
    5656
    5757                        // get mask of vertices of elements with ice
    58                         isice= NewArrayFill(md.mesh.numberofvertices,0);
     58                        var isice= NewArrayFill(md.mesh.numberofvertices,0);
    5959                        for(var i=0;i<md.mesh.numberofvertices;i++)if(md.mask.ice_levelset[i]<=0)isice[i]=1;
    6060                       
    61                         vlist = NewArrayFill(md.mesh.numberofvertices,0);
     61                        var vlist = NewArrayFill(md.mesh.numberofvertices,0);
    6262                        var pos=[];
    6363                        for(var i=0;i<md.mesh.numberofelements;i++){
     
    7575                        WriteData(fid,'data',vlist,'enum',IceMaskNodeActivationEnum(),'format','DoubleMat','mattype',1);
    7676                }//}}}
     77                this.fix=function() { //{{{
     78                }//}}}
     79
    7780}
  • issm/trunk-jpl/src/m/classes/mask.m

    r19607 r19860  
    4646
    4747                        md = checkfield(md,'fieldname','mask.groundedice_levelset','size',[md.mesh.numberofvertices 1]);
    48                         md = checkfield(md,'fieldname','mask.ice_levelset'        ,'size',[md.mesh.numberofvertices 1]);
     48                        md = checkfield(md,'fieldname','mask.ice_levelset','forcing',1);
    4949                        isice=(md.mask.ice_levelset<=0);
    5050                        if sum(isice)==0,
     
    5656                        icefront=sum(md.mask.ice_levelset(md.mesh.elements)==0,2);
    5757                        if (max(icefront)==3 & strcmp(elementtype(md.mesh),'Tria')) | (max(icefront==6) & strcmp(elementtype(md.mesh),'Penta')),
    58                                 if strcmp(elementtype(md.mesh),'Tria'),
    59                                         numberemptyelements=length(find(icefront==3));
    60                                 elseif strcmp(elementtype(md.mesh),'Penta')
    61                                         numberemptyelements=length(find(icefront==6));
    62                                 end
    63                                 error([' ' num2str(numberemptyelements) ' have all nodes on ice front, change md.mask.ice_levelset to fix it'])
     58                                error('At least one element has all nodes on ice front, change md.mask.ice_levelset to fix it')
    6459                        end
    6560                end % }}}
     
    7267                function marshall(self,md,fid) % {{{
    7368                        WriteData(fid,'object',self,'fieldname','groundedice_levelset','format','DoubleMat','mattype',1);
    74                         WriteData(fid,'object',self,'fieldname','ice_levelset','format','DoubleMat','mattype',1);
     69                        WriteData(fid,'object',self,'fieldname','ice_levelset','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1);
    7570
    7671                        % get mask of vertices of elements with ice
    77                         isice=md.mask.ice_levelset<=0.;
    78                         vlist = zeros(md.mesh.numberofvertices,1);
    79                         if md.mesh.numberofelements==1,
    80                                 pos=find(sum(isice(md.mesh.elements),1)>0);
     72                        if size(md.mask.ice_levelset,1)==md.mesh.numberofvertices,
     73                                isice=md.mask.ice_levelset<=0.;
     74                                vlist = zeros(md.mesh.numberofvertices,1);
     75                                pos=find(sum(isice(md.mesh.elements),2)>0);
     76                                vlist(md.mesh.elements(pos,:))=1;
     77                                WriteData(fid,'data',vlist,'enum',IceMaskNodeActivationEnum(),'format','DoubleMat','mattype',1);
    8178                        else
     79                                isice=md.mask.ice_levelset(1:end-1,1)<=0.;
     80                                vlist = zeros(md.mesh.numberofvertices,1);
    8281                                pos=find(sum(isice(md.mesh.elements),2)>0);
     82                                vlist(md.mesh.elements(pos,:))=1;
     83                                WriteData(fid,'data',vlist,'enum',IceMaskNodeActivationEnum(),'format','DoubleMat','mattype',1);
     84                                save temp vlist;
    8385                        end
    84                         vlist(md.mesh.elements(pos,:))=1;
    85                         WriteData(fid,'data',vlist,'enum',IceMaskNodeActivationEnum(),'format','DoubleMat','mattype',1);
    8686
    8787                end % }}}
  • issm/trunk-jpl/src/m/classes/masstransport.js

    r19828 r19860  
    5656                this.marshall=function(md,fid) { //{{{
    5757
    58                         yts=365.*24.*3600.;
     58                        var yts=365.*24.*3600.;
    5959
    6060                        WriteData(fid,'object',this,'fieldname','spcthickness','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1);
     
    6767
    6868                        //process requested outputs
    69                         outputs = this.requested_outputs;
     69                        var outputs = this.requested_outputs;
    7070                        for (var i=0;i<outputs.length;i++){
    7171                                if (outputs[i] == 'default') {
    7272                                        outputs.splice(i,1);
    73                                         newoutputs=this.defaultoutputs(md);
     73                                        var newoutputs=this.defaultoutputs(md);
    7474                                        for (var j=0;j<newoutputs.length;j++) outputs.push(newoutputs[j]);
    7575                                }
     
    8080                        return ['Thickness','Surface','Base'];
    8181                }//}}}
    82 //properties
     82                this.fix=function() { //{{{
     83                        this.spcthickness=NullFix(this.spcthickness,NaN);
     84                        this.vertex_pairing=NullFix(this.vertex_pairing,NaN);
     85                }//}}}
     86        //properties
    8387        // {{{
    8488
  • issm/trunk-jpl/src/m/classes/matice.js

    r19791 r19860  
    120120                        WriteData(fid,'object',this,'class','materials','fieldname','mantle_density','format','Double','scale',10^3);
    121121                }//}}}
     122                this.fix=function() { //{{{
     123                }//}}}
    122124        //properties
    123125        // {{{
  • issm/trunk-jpl/src/m/classes/mesh2d.js

    r19819 r19860  
    9393                        WriteData(fid,'object',this,'class','mesh','fieldname','segments','format','DoubleMat','mattype',3);
    9494                }//}}}
     95                this.fix=function() { //{{{
     96                        //Transform objects into Float64Arrays:
     97                        this.x=FloatFix(this.x,this.numberofvertices);
     98                        this.y=FloatFix(this.y,this.numberofvertices);
     99                        this.edges=NullFix(this.edges,NaN);
     100                        this.vertexonboundary=FloatFix(this.vertexonboundary,this.numberofvertices);
     101                        this.segmentmarkers=FloatFix(this.segmentmarkers,this.segments.length);
     102                        this.extractedvertices=NullFix(this.extractedvertices,NaN);
     103                        this.extractedelements=NullFix(this.extractedelements,NaN);
     104                        this.lat=NullFix(this.lat,NaN);
     105                        this.long=NullFix(this.long,NaN);
     106                }//}}}
    95107
    96108        //properties
  • issm/trunk-jpl/src/m/classes/miscellaneous.js

    r19791 r19860  
    2727                        WriteData(fid,'object',this,'fieldname','name','format','String');
    2828                }//}}}
     29                this.fix=function() { //{{{
     30                }//}}}
    2931        //properties
    3032        // {{{
    3133        this.notes = '';
    3234        this.name  = '';
    33         this.dummy = {};
     35        this.dummy = [];
    3436
    3537        this.setdefaultparameters();
  • issm/trunk-jpl/src/m/classes/model.js

    r19824 r19860  
    9090                        md.private.isconsistent=false;
    9191                } //}}}
     92                this.fix = function(){ //{{{
     93
     94                        for (var field in this){
     95
     96                                //Some properties do not need to be fixed
     97                                if (field == 'results' | field =='radaroverlay' | field == 'toolkits' | field =='cluster' | field == 'flaim' | field == 'priv') continue;
     98
     99                                //Check that current field is a class
     100                                if(typeof this[field] == 'function'){
     101                                        continue;
     102                                }
     103
     104                                //Fix current object
     105                                this[field].fix(this);
     106                        }
     107
     108                } //}}}
    92109        //properties
    93110        // {{{
  • issm/trunk-jpl/src/m/classes/outputdefinition.js

    r19793 r19860  
    2929                this.marshall=function(md,fid) { //{{{
    3030
    31                 enums=NewArrayFill(this.definitions.length,0);
     31                var enums=NewArrayFill(this.definitions.length,0);
    3232                for (var i=0;i<this.definitions.length;i++){
    3333                        this.definitions[i].marshall(md,fid);
     
    3939                WriteData(fid,'data',enums,'enum',OutputdefinitionListEnum(),'format','DoubleMat','mattype',1);
    4040                }//}}}
     41                this.fix=function() { //{{{
     42                }//}}}
    4143        //properties
    4244        // {{{
  • issm/trunk-jpl/src/m/classes/qmu.js

    r19793 r19860  
    118118                        WriteData(fid,'data',flag,'enum',QmuMassFluxSegmentsPresentEnum(),'format','Boolean');
    119119                }//}}}
     120                this.fix=function() { //{{{
     121                }//}}}
    120122        //properties
    121123        // {{{
    122124
    123125        this.isdakota                    = 0;
    124         this.variables                   = {};
    125         this.responses                   = {};
    126         this.method                      = {};
    127         this.params                      = {};
    128         this.results                     = {};
     126        this.variables                   = []
     127        this.responses                   = [];
     128        this.method                      = []
     129        this.params                      = []
     130        this.results                     = []
    129131        this.partition                   = NaN;
    130132        this.numberofpartitions          = 0;
    131133        this.numberofresponses           = 0;
    132         this.variabledescriptors         = {};
    133         this.responsedescriptors         = {};
     134        this.variabledescriptors         = []
     135        this.responsedescriptors         = []
    134136        this.mass_flux_profile_directory = NaN;
    135137        this.mass_flux_profiles          = NaN;
    136         this.mass_flux_segments          = {};
     138        this.mass_flux_segments          = []
    137139        this.adjacency                   = NaN;
    138140        this.vertex_weight               = NaN;
  • issm/trunk-jpl/src/m/classes/rifts.js

    r19791 r19860  
    1717        }// }}}
    1818                this.checkconsistency = function(md,solution,analyses) { //{{{
     19                        var numrifts;
    1920                        if (isNaN(this.riftstruct) | this.riftstruct.length==0){
    2021                                numrifts=0;
     
    4748                this.marshall=function(md,fid) { //{{{
    4849
     50                        var numrifts;
    4951                        //Process rift info
    5052                        if ((this.riftstruct.length==0) | isNaN(this.riftstruct)){
     
    6163                        // 2 for nodes + 2 for elements+ 2 for  normals + 1 for length + 1 for fill + 1 for friction + 1 for fraction + 1 for fractionincrement + 1 for state.
    6264                        data=Create2DArray(numpairs,12);
    63                         count=0;
     65                        var count=0;
    6466                        for (var i=0;i<numrifts;i++){
    6567                                numpairsforthisrift=this.riftstruct[i].penaltypairs.length;
     
    7779                        WriteData(fid,'data',data,'enum',RiftsRiftstructEnum(),'format','DoubleMat','mattype',3);
    7880                }//}}}
     81                this.fix=function() { //{{{
     82                        this.riftstruct=NullFix(this.riftstruct,NaN);
     83                        this.riftproperties=NullFix(this.riftproperties,NaN);
     84                }//}}}
    7985        //properties
    8086        // {{{
  • issm/trunk-jpl/src/m/classes/settings.js

    r19791 r19860  
    3131        this.disp= function(){// {{{
    3232                console.log(sprintf('   settings class echo:'));
     33               
     34                fielddisplay(this,'results_on_nodes','results are output for all the nodes of each element');
     35                fielddisplay(this,'io_gather','I/O gathering strategy for result outputs (default 1)');
     36                fielddisplay(this,'lowmem','is the memory limited ? (0 or 1)');
     37                fielddisplay(this,'output_frequency','frequency at which results are saved in all solutions with multiple time_steps');
     38                fielddisplay(this,'recording_frequency','frequency at which the runs are being recorded, allowing for a restart');
     39                fielddisplay(this,'waitonlock','maximum number of minutes to wait for batch results (NaN to deactivate)');
     40                fielddisplay(this,'upload_server','server hostname where model should be uploaded');
     41                fielddisplay(this,'upload_path','path on server where model should be uploaded');
     42                fielddisplay(this,'upload_login','server login');
     43                fielddisplay(this,'upload_port','port login (default is 0)');
     44                fielddisplay(this,'upload_filename','unique id generated when uploading the file to server');
     45
    3346
    3447        }// }}}
     
    5568                        else WriteData(fid,'enum',SettingsWaitonlockEnum(),'data',false,'format','Boolean');
    5669                }//}}}
     70                this.fix=function() { //{{{
     71                }//}}}
    5772        //properties
    5873        // {{{
  • issm/trunk-jpl/src/m/classes/steadystate.js

    r19793 r19860  
    5151
    5252                        //process requested outputs
    53                         outputs = this.requested_outputs;
     53                        var outputs = this.requested_outputs;
    5454                        for (var i=0;i<outputs.length;i++){
    5555                                if (outputs[i] == 'default') {
    5656                                        outputs.splice(i,1);
    57                                         newoutputs=this.defaultoutputs(md);
     57                                        var newoutputs=this.defaultoutputs(md);
    5858                                        for (var j=0;j<newoutputs.length;j++) outputs.push(newoutputs[j]);
    5959                                }
     
    7171
    7272                }//}}}
     73                this.fix=function() { //{{{
     74                }//}}}
    7375        //properties
    7476        // {{{
  • issm/trunk-jpl/src/m/classes/stressbalance.js

    r19793 r19860  
    140140                        WriteData(fid,'object',this,'class','stressbalance','fieldname','vertex_pairing','format','DoubleMat','mattype',3);
    141141
    142                         yts=365.0*24.0*3600.0;
     142                        var yts=365.0*24.0*3600.0;
    143143
    144144                        WriteData(fid,'object',this,'class','stressbalance','fieldname','spcvx','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1);
     
    158158                        WriteData(fid,'object',this,'class','stressbalance','fieldname','referential','format','DoubleMat','mattype',1);
    159159
    160                         lx=NewArrayFill(this.loadingforce.length,0); for(var i=0;i<lx.length;i++)lx[i]=this.loadingforce[i][0];
    161                         ly=NewArrayFill(this.loadingforce.length,0); for(var i=0;i<lx.length;i++)ly[i]=this.loadingforce[i][1];
    162                         lz=NewArrayFill(this.loadingforce.length,0); for(var i=0;i<lx.length;i++)lz[i]=this.loadingforce[i][2];
     160                        var lx=NewArrayFill(this.loadingforce.length,0); for(var i=0;i<lx.length;i++)lx[i]=this.loadingforce[i][0];
     161                        var ly=NewArrayFill(this.loadingforce.length,0); for(var i=0;i<lx.length;i++)ly[i]=this.loadingforce[i][1];
     162                        var lz=NewArrayFill(this.loadingforce.length,0); for(var i=0;i<lx.length;i++)lz[i]=this.loadingforce[i][2];
    163163
    164164                        WriteData(fid,'data',lx,'format','DoubleMat','mattype',1,'enum',LoadingforceXEnum());
     
    167167
    168168                        //process requested outputs
    169                         outputs = this.requested_outputs;
     169                        var outputs = this.requested_outputs;
    170170                        for (var i=0;i<outputs.length;i++){
    171171                                if (outputs[i] == 'default') {
    172172                                        outputs.splice(i,1);
    173                                         newoutputs=this.defaultoutputs(md);
     173                                        var newoutputs=this.defaultoutputs(md);
    174174                                        for (var j=0;j<newoutputs.length;j++) outputs.push(newoutputs[j]);
    175175                                }
     
    185185                        return list;
    186186
     187                }//}}}
     188                this.fix=function() { //{{{
     189                        this.abstol=NullFix(this.abstol,NaN);
     190                        this.rift_penalty_lock=NullFix(this.rift_penalty_lock,NaN);
     191                        this.referential=NullFix(this.referential,NaN);
     192                        this.loadingforce=NullFix(this.loadingforce,NaN);
     193                        this.spcvx=NullFix(this.spcvx,NaN);
     194                        this.spcvy=NullFix(this.spcvy,NaN);
     195                        this.spcvz=NullFix(this.spcvz,NaN);
     196                        if(this.vertex_pairing=[])this.vertex_pairing=NaN;
    187197                }//}}}
    188198        //properties
  • issm/trunk-jpl/src/m/classes/thermal.js

    r19828 r19860  
    4545                fielddisplay(this,'penalty_factor','scaling exponent (default is 3)');
    4646                fielddisplay(this,'isenthalpy','use an enthalpy formulation to include temperate ice (default is 0)');
    47                 fielddisplay(this,'isdynamicbasalspc',['enable dynamic setting of basal forcing. required for enthalpy formulation (default is 0)']);
     47                fielddisplay(this,'isdynamicbasalspc','enable dynamic setting of basal forcing. required for enthalpy formulation (default is 0)');
    4848                fielddisplay(this,'requested_outputs','additional outputs requested');
    4949
     
    9696
    9797                        //process requested outputs
    98                         outputs = this.requested_outputs;
     98                        var outputs = this.requested_outputs;
    9999                        for (var i=0;i<outputs.length;i++){
    100100                                if (outputs[i] == 'default') {
    101101                                        outputs.splice(i,1);
    102                                         newoutputs=this.defaultoutputs(md);
     102                                        var newoutputs=this.defaultoutputs(md);
    103103                                        for (var j=0;j<newoutputs.length;j++) outputs.push(newoutputs[j]);
    104104                                }
     
    110110                        if (this.isenthalpy) return ['Enthalpy','Temperature','Waterfraction','Watercolumn','BasalforcingsGroundediceMeltingRate'];
    111111                        else return ['Temperature','BasalforcingsGroundediceMeltingRate'];
     112                }//}}}
     113                this.fix=function() { //{{{
     114                        this.spctemperature=NullFix(this.spctemperature,NaN);
    112115                }//}}}
    113116        //properties
  • issm/trunk-jpl/src/m/classes/timestepping.js

    r19857 r19860  
    2121        }// }}}
    2222        this.disp= function(){// {{{
     23
     24                var unit;
    2325                console.log(sprintf('   timestepping parameters:'));
    24 
    2526                unit = 'yr';
    2627                fielddisplay(this,'start_time','simulation starting time ['+ unit + ']');
     
    6162
    6263                }//}}}
     64                this.fix=function() { //{{{
     65                }//}}}
    6366        //properties
    6467        // {{{
  • issm/trunk-jpl/src/m/classes/toolkits.js

    r19793 r19860  
    6262                         //start writing options
    6363                         for (var analysis in this){
     64                                 var options;
    6465                                 
    6566                                 if(typeof this[analysis] == 'object') options=this[analysis]; else continue;
     
    7172                       
    7273                                 for(var optionname in options){
    73                                          optionvalue=options[optionname];
     74                                         var optionvalue=options[optionname];
    7475
    7576                                         if (optionvalue.length==0){
  • issm/trunk-jpl/src/m/classes/trans.js

    r19828 r19860  
    7575
    7676                        //process requested outputs
    77                         outputs = this.requested_outputs;
     77                        var outputs = this.requested_outputs;
    7878                        for (var i=0;i<outputs.length;i++){
    7979                                if (outputs[i] == 'default') {
    8080                                        outputs.splice(i,1);
    81                                         newoutputs=this.defaultoutputs(md);
     81                                        var newoutputs=this.defaultoutputs(md);
    8282                                        for (var j=0;j<newoutputs.length;j++) outputs.push(newoutputs[j]);
    8383                                }
     
    8888                        if(this.issmb)return ['SmbMassBalance'];
    8989                        else return [];
     90                }//}}}
     91                this.fix=function() { //{{{
    9092                }//}}}
    9193        //properties
  • issm/trunk-jpl/src/m/classes/verbose.js

    r19793 r19860  
    6363
    6464                } //}}}
     65                this.fix=function() { //{{{
     66                }//}}}
    6567        //properties
    6668        // {{{
Note: See TracChangeset for help on using the changeset viewer.