Changeset 19879


Ignore:
Timestamp:
12/11/15 09:14:04 (9 years ago)
Author:
Eric.Larour
Message:

CHG (javascript): adding savemodeljs to save a model in matlab into javascript file

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

Legend:

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

    r19642 r19879  
    8484
    8585                end % }}}
     86                function savemodeljs(self,fid,modelname) % {{{
     87               
     88                        writejs1Darray(fid,[modelname '.smb.mass_balance'],self.mass_balance);
     89                        writejscellstring(fid,[modelname '.smb.requested_outputs'],self.requested_outputs);
     90
     91                end % }}}
    8692        end
    8793end
  • issm/trunk-jpl/src/m/classes/autodiff.m

    r19040 r19879  
    257257
    258258                end % }}}
     259                function savemodeljs(self,fid,modelname) % {{{
     260                        %do nothing for now
     261                        if self.isautodiff,
     262                                error('autodiff savemodeljs error message: not implemented yet!');
     263                        end
     264                end % }}}
    259265        end
    260266end
  • issm/trunk-jpl/src/m/classes/balancethickness.m

    r19040 r19879  
    5555                        WriteData(fid,'object',self,'fieldname','omega','format','DoubleMat','mattype',1);
    5656                end % }}}
     57                function savemodeljs(self,fid,modelname) % {{{
     58               
     59                        writejs1Darray(fid,[modelname '.balancethickness.spcthickness'],self.spcthickness);
     60                        writejs1Darray(fid,[modelname '.balancethickness.thickening_rate'],self.thickening_rate);
     61                        writejsdouble(fid,[modelname '.balancethickness.stabilization'],self.stabilization);
     62                        writejs1Darray(fid,[modelname '.balancethickness.omega'],self.omega);
     63
     64                end % }}}
    5765        end
    5866end
  • issm/trunk-jpl/src/m/classes/basalforcings.m

    r19048 r19879  
    8080                        WriteData(fid,'object',self,'fieldname','geothermalflux','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1);
    8181                end % }}}
     82                function savemodeljs(self,fid,modelname) % {{{
     83               
     84                        writejs1Darray(fid,[modelname '.basalforcings.groundedice_melting_rate'],self.groundedice_melting_rate);
     85                        writejs1Darray(fid,[modelname '.basalforcings.floatingice_melting_rate'],self.floatingice_melting_rate);
     86                        writejs1Darray(fid,[modelname '.basalforcings.geothermalflux'],self.geothermalflux);
     87
     88                end % }}}
    8289        end
    8390end
  • issm/trunk-jpl/src/m/classes/calving.m

    r19158 r19879  
    6565                        WriteData(fid,'object',self,'fieldname','meltingrate','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'scale',1./yts);
    6666                end % }}}
     67                function savemodeljs(self,fid,modelname) % {{{
     68               
     69                        writejsdouble(fid,[modelname '.calving.stabilization'],self.stabilization);
     70                        writejs1Darray(fid,[modelname '.calving.spclevelset'],self.spclevelset);
     71                        writejs1Darray(fid,[modelname '.calving.calvingrate'],self.calvingrate);
     72                        writejs1Darray(fid,[modelname '.calving.meltingrate'],self.meltingrate);
     73
     74                end % }}}
    6775        end
    6876end
  • issm/trunk-jpl/src/m/classes/constants.m

    r19749 r19879  
    6464                        WriteData(fid,'object',self,'fieldname','referencetemperature','format','Double');
    6565                end % }}}
     66                function savemodeljs(self,fid,modelname) % {{{
     67               
     68                        writejsdouble(fid,[modelname '.constants.g'],self.g);
     69                        writejsdouble(fid,[modelname '.constants.omega'],self.omega);
     70                        writejsdouble(fid,[modelname '.constants.yts'],self.yts);
     71                        writejsdouble(fid,[modelname '.constants.referencetemperature'],self.referencetemperature);
     72
     73                end % }}}
    6674        end
    6775end
  • issm/trunk-jpl/src/m/classes/damage.m

    r19465 r19879  
    227227
    228228                end % }}}
     229                function savemodeljs(self,fid,modelname) % {{{
     230               
     231                        writejsdouble(fid,[modelname '.damage.isdamage'],self.isdamage);
     232                        if self.isdamage,
     233                                error('savemodeljs error message: not implemented  yet!');
     234                        end
     235
     236                end % }}}
    229237        end
    230238end
  • issm/trunk-jpl/src/m/classes/debug.m

    r19040 r19879  
    4545                        WriteData(fid,'object',self,'fieldname','profiling','format','Boolean');
    4646                end % }}}
     47                function savemodeljs(self,fid,modelname) % {{{
     48               
     49                        writejsdouble(fid,[modelname '.debug.valgrind'],self.valgrind);
     50                        writejsdouble(fid,[modelname '.debug.gprof'],self.gprof);
     51                        writejsdouble(fid,[modelname '.debug.profiling'],self.profiling);
     52
     53                end % }}}
    4754        end
    4855end
  • issm/trunk-jpl/src/m/classes/flaim.m

    r19040 r19879  
    106106                        fielddisplay(self,'quality'            ,'quality of kml solution');
    107107                end % }}}
     108                function savemodeljs(self,fid,modelname) % {{{
     109               
     110                        %do nothing for now!
     111                        if ~isempty(self.targets),
     112                                error('flaim savemodeljs error message: not supported yet!');
     113                        end
     114
     115                end % }}}
    108116        end
    109117end
  • issm/trunk-jpl/src/m/classes/flowequation.m

    r19486 r19879  
    242242                        WriteData(fid,'data',data,'enum',FlowequationElementEquationEnum(),'format','DoubleMat','mattype',2);
    243243                end % }}}
     244                function savemodeljs(self,fid,modelname) % {{{
     245               
     246                        writejsdouble(fid,[modelname '.flowequation.isSIA'],self.isSIA);
     247                        writejsdouble(fid,[modelname '.flowequation.isSSA'],self.isSSA);
     248                        writejsdouble(fid,[modelname '.flowequation.isL1L2'],self.isL1L2);
     249                        writejsdouble(fid,[modelname '.flowequation.isHO'],self.isHO);
     250                        writejsdouble(fid,[modelname '.flowequation.isFS'],self.isFS);
     251                        writejsstring(fid,[modelname '.flowequation.fe_SSA'],self.fe_SSA);
     252                        writejsstring(fid,[modelname '.flowequation.fe_HO'],self.fe_HO);
     253                        writejsstring(fid,[modelname '.flowequation.fe_FS'],self.fe_FS);
     254                        writejsdouble(fid,[modelname '.flowequation.augmented_lagrangian_r'],self.augmented_lagrangian_r);
     255                        writejsdouble(fid,[modelname '.flowequation.augmented_lagrangian_rhop'],self.augmented_lagrangian_rhop);
     256                        writejsdouble(fid,[modelname '.flowequation.augmented_lagrangian_rlambda'],self.augmented_lagrangian_rlambda);
     257                        writejsdouble(fid,[modelname '.flowequation.augmented_lagrangian_rholambda'],self.augmented_lagrangian_rholambda);
     258                        writejsdouble(fid,[modelname '.flowequation.XTH_theta'],self.XTH_theta);
     259                        writejs1Darray(fid,[modelname '.flowequation.vertex_equation'],self.vertex_equation);
     260                        writejs1Darray(fid,[modelname '.flowequation.element_equation'],self.element_equation);
     261                        writejs1Darray(fid,[modelname '.flowequation.borderSSA'],self.borderSSA);
     262                        writejs1Darray(fid,[modelname '.flowequation.borderHO'],self.borderHO);
     263                        writejs1Darray(fid,[modelname '.flowequation.borderFS'],self.borderFS);
     264
     265                end % }}}
    244266        end
    245267end
  • issm/trunk-jpl/src/m/classes/friction.m

    r19048 r19879  
    6161
    6262                end % }}}
     63                function savemodeljs(self,fid,modelname) % {{{
     64               
     65                        writejs1Darray(fid,[modelname '.friction.coefficient'],self.coefficient);
     66                        writejs1Darray(fid,[modelname '.friction.p'],self.p);
     67                        writejs1Darray(fid,[modelname '.friction.q'],self.q);
     68
     69                end % }}}
    6370        end
    6471end
  • issm/trunk-jpl/src/m/classes/geometry.m

    r19573 r19879  
    9494                        WriteData(fid,'object',self,'fieldname','hydrostatic_ratio','format','DoubleMat','mattype',1);
    9595                end % }}}
     96                function savemodeljs(self,fid,modelname) % {{{
     97               
     98                        writejs1Darray(fid,[modelname '.geometry.surface'],self.surface);
     99                        writejs1Darray(fid,[modelname '.geometry.thickness'],self.thickness);
     100                        writejs1Darray(fid,[modelname '.geometry.base'],self.base);
     101                        writejs1Darray(fid,[modelname '.geometry.bed'],self.bed);
     102                        writejs1Darray(fid,[modelname '.geometry.hydrostatic_ratio'],self.hydrostatic_ratio);
     103
     104                end % }}}
    96105        end
    97106end
  • issm/trunk-jpl/src/m/classes/gia.m

    r19048 r19879  
    7777                        WriteData(fid,'object',self,'fieldname','cross_section_shape','format','Integer');
    7878                end % }}}
     79                function savemodeljs(self,fid,modelname) % {{{
     80               
     81                        writejsdouble(fid,[modelname '.gia.mantle_viscosity'],self.mantle_viscosity);
     82                        writejsdouble(fid,[modelname '.gia.lithosphere_thickness'],self.lithosphere_thickness);
     83                        writejsdouble(fid,[modelname '.gia.cross_section_shape'],self.cross_section_shape);
     84
     85                end % }}}
    7986        end
    8087end
  • issm/trunk-jpl/src/m/classes/groundingline.m

    r19040 r19879  
    6464                        WriteData(fid,'data',StringToEnum(self.migration),'enum',GroundinglineMigrationEnum(),'format','Integer');
    6565                end % }}}
     66                function savemodeljs(self,fid,modelname) % {{{
     67               
     68                        writejsstring(fid,[modelname '.groundingline.migration'],self.migration);
     69
     70                end % }}}
    6671        end
    6772end
  • issm/trunk-jpl/src/m/classes/hydrologyshreve.m

    r19048 r19879  
    5959                        WriteData(fid,'object',self,'fieldname','stabilization','format','Double');
    6060                end % }}}
     61                function savemodeljs(self,fid,modelname) % {{{
     62               
     63                        writejs1Darray(fid,[modelname '.hydrology.spcwatercolumn'],self.spcwatercolumn);
     64                        writejsdouble(fid,[modelname '.hydrology.stabilization'],self.stabilization);
     65
     66                end % }}}
    6167        end
    6268end
  • issm/trunk-jpl/src/m/classes/initialization.m

    r19048 r19879  
    152152                        end
    153153                end % }}}
     154                function savemodeljs(self,fid,modelname) % {{{
     155               
     156                        writejs1Darray(fid,[modelname '.initialization.vx'],self.vx);
     157                        writejs1Darray(fid,[modelname '.initialization.vy'],self.vy);
     158                        writejs1Darray(fid,[modelname '.initialization.vz'],self.vz);
     159                        writejs1Darray(fid,[modelname '.initialization.vel'],self.vel);
     160                        writejs1Darray(fid,[modelname '.initialization.pressure'],self.pressure);
     161                        writejs1Darray(fid,[modelname '.initialization.temperature'],self.temperature);
     162                        writejs1Darray(fid,[modelname '.initialization.waterfraction'],self.waterfraction);
     163                        writejs1Darray(fid,[modelname '.initialization.sediment_head'],self.sediment_head);
     164                        writejs1Darray(fid,[modelname '.initialization.epl_head'],self.epl_head);
     165                        writejs1Darray(fid,[modelname '.initialization.epl_thickness'],self.epl_thickness);
     166                        writejs1Darray(fid,[modelname '.initialization.watercolumn'],self.watercolumn);
     167
     168                end % }}}
    154169        end
    155170end
  • issm/trunk-jpl/src/m/classes/m1qn3inversion.m

    r19070 r19879  
    178178                        WriteData(fid,'data',num_cost_functions,'enum',InversionNumCostFunctionsEnum(),'format','Integer');
    179179                end % }}}
     180                function savemodeljs(self,fid,modelname) % {{{
     181               
     182                        writejsdouble(fid,[modelname '.inversion.iscontrol'],self.iscontrol);
     183                        writejsdouble(fid,[modelname '.inversion.incomplete_adjoint'],self.incomplete_adjoint);
     184                        writejscellstring(fid,[modelname '.inversion.control_parameters'],self.control_parameters);
     185                        writejsdouble(fid,[modelname '.inversion.control_scaling_factors'],self.control_scaling_factors);
     186                        writejsdouble(fid,[modelname '.inversion.maxsteps'],self.maxsteps);
     187                        writejsdouble(fid,[modelname '.inversion.maxiter'],self.maxiter);
     188                        writejsdouble(fid,[modelname '.inversion.dxmin'],self.dxmin);
     189                        writejsdouble(fid,[modelname '.inversion.gttol'],self.gttol);
     190                        writejs2Darray(fid,[modelname '.inversion.cost_functions'],self.cost_functions);
     191                        writejs2Darray(fid,[modelname '.inversion.cost_functions_coefficients'],self.cost_functions_coefficients);
     192                        writejs1Darray(fid,[modelname '.inversion.min_parameters'],self.min_parameters);
     193                        writejs1Darray(fid,[modelname '.inversion.max_parameters'],self.max_parameters);
     194                        writejs1Darray(fid,[modelname '.inversion.vx_obs'],self.vx_obs);
     195                        writejs1Darray(fid,[modelname '.inversion.vy_obs'],self.vy_obs);
     196                        writejs1Darray(fid,[modelname '.inversion.vz_obs'],self.vz_obs);
     197                        writejs1Darray(fid,[modelname '.inversion.vel_obs'],self.vel_obs);
     198                        writejs1Darray(fid,[modelname '.inversion.thickness_obs'],self.thickness_obs);
     199                        writejs1Darray(fid,[modelname '.inversion.surface_obs'],self.surface_obs);
     200
     201                end % }}}
    180202        end
    181203end
  • issm/trunk-jpl/src/m/classes/mask.m

    r19860 r19879  
    8282                                vlist(md.mesh.elements(pos,:))=1;
    8383                                WriteData(fid,'data',vlist,'enum',IceMaskNodeActivationEnum(),'format','DoubleMat','mattype',1);
    84                                 save temp vlist;
    8584                        end
     85
     86                end % }}}
     87                function savemodeljs(self,fid,modelname) % {{{
     88               
     89                        writejs1Darray(fid,[modelname '.mask.groundedice_levelset'],self.groundedice_levelset);
     90                        writejs1Darray(fid,[modelname '.mask.ice_levelset'],self.ice_levelset);
    8691
    8792                end % }}}
  • issm/trunk-jpl/src/m/classes/masstransport.m

    r19048 r19879  
    132132                        WriteData(fid,'data',outputs,'enum',MasstransportRequestedOutputsEnum,'format','StringArray');
    133133                end % }}}
     134                function savemodeljs(self,fid,modelname) % {{{
     135               
     136                        writejs1Darray(fid,[modelname '.masstransport.spcthickness'],self.spcthickness);
     137                        writejsdouble(fid,[modelname '.masstransport.isfreesurface'],self.isfreesurface);
     138                        writejsdouble(fid,[modelname '.masstransport.min_thickness'],self.min_thickness);
     139                        writejsdouble(fid,[modelname '.masstransport.hydrostatic_adjustment'],self.hydrostatic_adjustment);
     140                        writejsdouble(fid,[modelname '.masstransport.stabilization'],self.stabilization);
     141                        writejs2Darray(fid,[modelname '.masstransport.vertex_pairing'],self.vertex_pairing);
     142                        writejsdouble(fid,[modelname '.masstransport.penalty_factor'],self.penalty_factor);
     143                        writejscellstring(fid,[modelname '.masstransport.requested_outputs'],self.requested_outputs);
     144
     145                end % }}}
    134146        end
    135147end
  • issm/trunk-jpl/src/m/classes/matice.m

    r19048 r19879  
    205205                        WriteData(fid,'object',self,'class','materials','fieldname','mantle_density','format','Double','scale',10^3);
    206206                end % }}}
     207                function savemodeljs(self,fid,modelname) % {{{
     208               
     209                        writejsdouble(fid,[modelname '.materials.rho_ice'],self.rho_ice);
     210                        writejsdouble(fid,[modelname '.materials.rho_water'],self.rho_water);
     211                        writejsdouble(fid,[modelname '.materials.rho_freshwater'],self.rho_freshwater);
     212                        writejsdouble(fid,[modelname '.materials.mu_water'],self.mu_water);
     213                        writejsdouble(fid,[modelname '.materials.heatcapacity'],self.heatcapacity);
     214                        writejsdouble(fid,[modelname '.materials.latentheat'],self.latentheat);
     215                        writejsdouble(fid,[modelname '.materials.thermalconductivity'],self.thermalconductivity);
     216                        writejsdouble(fid,[modelname '.materials.temperateiceconductivity'],self.temperateiceconductivity);
     217                        writejsdouble(fid,[modelname '.materials.meltingpoint'],self.meltingpoint);
     218                        writejsdouble(fid,[modelname '.materials.beta'],self.beta);
     219                        writejsdouble(fid,[modelname '.materials.mixed_layer_capacity'],self.mixed_layer_capacity);
     220                        writejsdouble(fid,[modelname '.materials.thermal_exchange_velocity'],self.thermal_exchange_velocity);
     221                        writejsdouble(fid,[modelname '.materials.mixed_layer_capacity'],self.mixed_layer_capacity);
     222                        writejs1Darray(fid,[modelname '.materials.rheology_B'],self.rheology_B);
     223                        writejs1Darray(fid,[modelname '.materials.rheology_n'],self.rheology_n);
     224                        writejsstring(fid,[modelname '.materials.rheology_law'],self.rheology_law);
     225                        writejsdouble(fid,[modelname '.materials.lithosphere_shear_modulus'],self.lithosphere_shear_modulus);
     226                        writejsdouble(fid,[modelname '.materials.lithosphere_density'],self.lithosphere_density);
     227                        writejsdouble(fid,[modelname '.materials.mantle_shear_modulus'],self.mantle_shear_modulus);
     228                        writejsdouble(fid,[modelname '.materials.mantle_density'],self.mantle_density);
     229
     230                end % }}}
    207231        end
    208232end
  • issm/trunk-jpl/src/m/classes/mesh2d.m

    r19749 r19879  
    150150                        s = 'Tria';
    151151                end % }}}
     152                function savemodeljs(self,fid,modelname) % {{{
     153               
     154                        writejs1Darray(fid,[modelname '.mesh.x'],self.x);
     155                        writejs1Darray(fid,[modelname '.mesh.y'],self.y);
     156                        writejs2Darray(fid,[modelname '.mesh.elements'],self.elements);
     157                        writejsdouble(fid,[modelname '.mesh.numberofelements'],self.numberofelements);
     158                        writejsdouble(fid,[modelname '.mesh.numberofvertices'],self.numberofvertices);
     159                        writejsdouble(fid,[modelname '.mesh.numberofedges'],self.numberofedges);
     160                        writejs1Darray(fid,[modelname '.mesh.lat'],self.lat);
     161                        writejs1Darray(fid,[modelname '.mesh.long'],self.long);
     162                        writejsdouble(fid,[modelname '.mesh.epsg'],self.epsg);
     163                        writejs1Darray(fid,[modelname '.mesh.vertexonboundary'],self.vertexonboundary);
     164                        writejs2Darray(fid,[modelname '.mesh.edges'],self.edges);
     165                        writejs2Darray(fid,[modelname '.mesh.segments'],self.segments);
     166                        writejs2Darray(fid,[modelname '.mesh.segmentmarkers'],self.segmentmarkers);
     167                        writejs2Darray(fid,[modelname '.mesh.vertexconnectivity'],self.vertexconnectivity);
     168                        writejs2Darray(fid,[modelname '.mesh.elementconnectivity'],self.elementconnectivity);
     169                        writejsdouble(fid,[modelname '.mesh.average_vertex_connectivity'],self.average_vertex_connectivity);
     170                        writejs1Darray(fid,[modelname '.mesh.extractedvertices'],self.extractedvertices);
     171                        writejs1Darray(fid,[modelname '.mesh.extractedelements'],self.extractedelements);
     172
     173                end % }}}
    152174        end
    153175end
  • issm/trunk-jpl/src/m/classes/miscellaneous.m

    r19040 r19879  
    4949                        WriteData(fid,'object',self,'fieldname','name','format','String');
    5050                end % }}}
     51                function savemodeljs(self,fid,modelname) % {{{
     52               
     53                        writejsstring(fid,[modelname '.miscellaneous.notes'],self.notes);
     54                        writejsstring(fid,[modelname '.miscellaneous.name'],self.name);
     55                        %do not save dummy data.
     56
     57                end % }}}
    5158        end
    5259end
  • issm/trunk-jpl/src/m/classes/model.m

    r19720 r19879  
    13521352
    13531353                end % }}}
     1354                function savemodeljs(md,modelname,filename) % {{{
     1355
     1356                        %the goal of this routine is to save the model as a javascript array that can be included in any html
     1357                        %file:
     1358
     1359                        %disp:
     1360                        disp(['saving model ''' modelname ''' in file ' filename]);
     1361
     1362                        %open file for writing and declare the model:
     1363                        fid=fopen(filename,'w');
     1364                        fprintf(fid,'var %s=new model();\n',modelname);
     1365
     1366                        %now go through all the classes and fwrite all the corresponding fields:
     1367                       
     1368                        fields=properties('model');
     1369                        for i=1:length(fields),
     1370                                field=fields{i};
     1371
     1372                                %Some properties do not need to be saved
     1373                                if ismember(field,{'results' 'radaroverlay','cluster' }),
     1374                                        continue;
     1375                                end
     1376
     1377                                %Check that current field is an object
     1378                                if ~isobject(md.(field))
     1379                                        error(['field ''' char(field) ''' is not an object']);
     1380                                end
     1381
     1382                                %savemodeljs for current object
     1383                                %disp(['javascript saving ' field '...']);
     1384                                savemodeljs(md.(field),fid,modelname);
     1385                        end
     1386
     1387                        %done, close file:
     1388                        fclose(fid);
     1389                end
    13541390        end
    13551391 end
  • issm/trunk-jpl/src/m/classes/outputdefinition.m

    r19040 r19879  
    5858                WriteData(fid,'data',enums,'enum',OutputdefinitionListEnum(),'format','DoubleMat','mattype',1);
    5959                end % }}}
     60                function savemodeljs(self,fid,modelname) % {{{
     61               
     62                        if ~isempty(self.definitions),
     63                                error('outputdefinition savemodeljs error message: not supported yet!');
     64                        end
     65
     66                end % }}}
    6067        end
    6168end
  • issm/trunk-jpl/src/m/classes/private.m

    r19040 r19879  
    3535
    3636                end % }}}
     37                function savemodeljs(self,fid,modelname) % {{{
     38               
     39                        writejsdouble(fid,[modelname '.priv.isconsistent'],self.isconsistent);
     40                        writejsstring(fid,[modelname '.priv.runtimename'],self.runtimename);
     41                        writejsstring(fid,[modelname '.priv.solution'],self.solution);
     42                        %no bamg
     43
     44                end % }}}
    3745        end
    3846end
  • issm/trunk-jpl/src/m/classes/qmu.m

    r19650 r19879  
    209209                        WriteData(fid,'data',flag,'enum',QmuMassFluxSegmentsPresentEnum,'format','Boolean');
    210210                end % }}}
     211                function savemodeljs(self,fid,modelname) % {{{
     212               
     213                        if self.isdakota,
     214                                error('qmu savemodeljs error message: not supported yet!');
     215                        end
     216
     217                end % }}}
    211218        end
    212219end
  • issm/trunk-jpl/src/m/classes/rifts.m

    r19040 r19879  
    9191                        WriteData(fid,'data',data,'enum',RiftsRiftstructEnum(),'format','DoubleMat','mattype',3);
    9292                end % }}}
     93                function savemodeljs(self,fid,modelname) % {{{
     94       
     95                        if isempty(self.riftstruct) | isnans(self.riftstruct),
     96                                numrifts=0;
     97                        else
     98                                numrifts=numel(self.riftstruct);
     99                        end
     100                       
     101                        if numrifts,
     102                                error('rifts savemodeljs error message: not supported yet!');
     103                        end
     104       
     105                end % }}}
    93106        end
    94107end
  • issm/trunk-jpl/src/m/classes/settings.m

    r19318 r19879  
    110110                        end
    111111                end % }}}
     112                function savemodeljs(self,fid,modelname) % {{{
     113               
     114                        writejsdouble(fid,[modelname '.settings.results_on_nodes'],self.results_on_nodes);
     115                        writejsdouble(fid,[modelname '.settings.io_gather'],self.io_gather);
     116                        writejsdouble(fid,[modelname '.settings.lowmem'],self.lowmem);
     117                        writejsdouble(fid,[modelname '.settings.output_frequency'],self.output_frequency);
     118                        writejsdouble(fid,[modelname '.settings.recording_frequency'],self.recording_frequency);
     119                        writejsdouble(fid,[modelname '.settings.waitonlock'],self.waitonlock);
     120                        writejsstring(fid,[modelname '.settings.upload_server'],self.upload_server);
     121                        writejsstring(fid,[modelname '.settings.upload_path'],self.upload_path);
     122                        writejsstring(fid,[modelname '.settings.upload_login'],self.upload_login);
     123                        writejsdouble(fid,[modelname '.settings.upload_port'],self.upload_port);
     124                        writejsstring(fid,[modelname '.settings.upload_filename'],self.upload_filename);
     125
     126                end % }}}
    112127        end
    113128end
  • issm/trunk-jpl/src/m/classes/steadystate.m

    r19040 r19879  
    8080                        WriteData(fid,'data',outputs,'enum',SteadystateRequestedOutputsEnum,'format','StringArray');
    8181                end % }}}
     82                function savemodeljs(self,fid,modelname) % {{{
     83               
     84                        writejsdouble(fid,[modelname '.steadystate.reltol'],self.reltol);
     85                        writejsdouble(fid,[modelname '.steadystate.maxiter'],self.maxiter);
     86                        writejscellstring(fid,[modelname '.steadystate.requested_outputs'],self.requested_outputs);
     87
     88                end % }}}
    8289        end
    8390end
  • issm/trunk-jpl/src/m/classes/stressbalance.m

    r19294 r19879  
    252252                        WriteData(fid,'data',outputs,'enum',StressbalanceRequestedOutputsEnum,'format','StringArray');
    253253                end % }}}
     254                function savemodeljs(self,fid,modelname) % {{{
     255               
     256                        writejs1Darray(fid,[modelname '.stressbalance.spcvx'],self.spcvx);
     257                        writejs1Darray(fid,[modelname '.stressbalance.spcvy'],self.spcvy);
     258                        writejs1Darray(fid,[modelname '.stressbalance.spcvz'],self.spcvz);
     259                        writejsdouble(fid,[modelname '.stressbalance.restol'],self.restol);
     260                        writejsdouble(fid,[modelname '.stressbalance.reltol'],self.reltol);
     261                        writejsdouble(fid,[modelname '.stressbalance.abstol'],self.abstol);
     262                        writejsdouble(fid,[modelname '.stressbalance.isnewton'],self.isnewton);
     263                        writejsdouble(fid,[modelname '.stressbalance.FSreconditioning'],self.FSreconditioning);
     264                        writejsdouble(fid,[modelname '.stressbalance.viscosity_overshoot'],self.viscosity_overshoot);
     265                        writejsdouble(fid,[modelname '.stressbalance.maxiter'],self.maxiter);
     266                        writejsdouble(fid,[modelname '.stressbalance.shelf_dampening'],self.shelf_dampening);
     267                        writejs1Darray(fid,[modelname '.stressbalance.vertex_pairing'],self.vertex_pairing);
     268                        writejsdouble(fid,[modelname '.stressbalance.penalty_factor'],self.penalty_factor);
     269                        writejsdouble(fid,[modelname '.stressbalance.rift_penalty_lock'],self.rift_penalty_lock);
     270                        writejsdouble(fid,[modelname '.stressbalance.rift_penalty_threshold'],self.rift_penalty_threshold);
     271                        writejs1Darray(fid,[modelname '.stressbalance.referential'],self.referential);
     272                        writejs1Darray(fid,[modelname '.stressbalance.loadingforce'],self.loadingforce);
     273                        writejscellstring(fid,[modelname '.stressbalance.requested_outputs'],self.requested_outputs);
     274
     275                end % }}}
    254276        end
    255277end
  • issm/trunk-jpl/src/m/classes/thermal.m

    r19048 r19879  
    151151                        WriteData(fid,'data',outputs,'enum',ThermalRequestedOutputsEnum(),'format','StringArray');
    152152                end % }}}
     153                function savemodeljs(self,fid,modelname) % {{{
     154               
     155                        writejs1Darray(fid,[modelname '.thermal.spctemperature'],self.spctemperature);
     156                        writejsdouble(fid,[modelname '.thermal.penalty_threshold'],self.penalty_threshold);
     157                        writejsdouble(fid,[modelname '.thermal.stabilization'],self.stabilization);
     158                        writejsdouble(fid,[modelname '.thermal.reltol'],self.reltol);
     159                        writejsdouble(fid,[modelname '.thermal.maxiter'],self.maxiter);
     160                        writejsdouble(fid,[modelname '.thermal.penalty_lock'],self.penalty_lock);
     161                        writejsdouble(fid,[modelname '.thermal.penalty_factor'],self.penalty_factor);
     162                        writejsdouble(fid,[modelname '.thermal.isenthalpy'],self.isenthalpy);
     163                        writejsdouble(fid,[modelname '.thermal.isdynamicbasalspc'],self.isdynamicbasalspc);
     164                        writejscellstring(fid,[modelname '.thermal.requested_outputs'],self.requested_outputs);
     165
     166                end % }}}
    153167        end
    154168end
  • issm/trunk-jpl/src/m/classes/timestepping.m

    r19857 r19879  
    8585                        WriteData(fid,'object',self,'fieldname','interp_forcings','format','Boolean');
    8686                end % }}}
     87                function savemodeljs(self,fid,modelname) % {{{
     88               
     89                        writejsdouble(fid,[modelname '.timestepping.start_time'],self.start_time);
     90                        writejsdouble(fid,[modelname '.timestepping.final_time'],self.final_time);
     91                        writejsdouble(fid,[modelname '.timestepping.time_step'],self.time_step);
     92                        writejsdouble(fid,[modelname '.timestepping.time_adapt'],self.time_adapt);
     93                        writejsdouble(fid,[modelname '.timestepping.cfl_coefficient'],self.cfl_coefficient);
     94                        writejsdouble(fid,[modelname '.timestepping.interp_forcings'],self.interp_forcings);
     95                        writejsdouble(fid,[modelname '.timestepping.in_years'],self.in_years);
     96
     97                end % }}}
    8798        end
    8899end
  • issm/trunk-jpl/src/m/classes/toolkits.m

    r19116 r19879  
    125125                         fclose(fid);
    126126                 end %}}}
     127                function savemodeljs(self,fid,modelname) % {{{
     128       
     129                        analyses=properties(self);
     130                         for i=1:numel(analyses),
     131                                 if isempty(fieldnames(self.(analyses{i})))
     132                                         error(['md.toolkits.' analyses{i} ' is empty']);
     133                                 else
     134                                         writejsstruct(fid,[modelname '.toolkits.' analyses{i}],self.(analyses{i}));
     135                                 end
     136                         end
     137       
     138                end % }}}
    127139         end
    128140 end
  • issm/trunk-jpl/src/m/classes/transient.m

    r19527 r19879  
    141141                        WriteData(fid,'data',outputs,'enum',TransientRequestedOutputsEnum,'format','StringArray');
    142142                end % }}}
     143                function savemodeljs(self,fid,modelname) % {{{
     144               
     145                        writejsdouble(fid,[modelname '.trans.issmb'],self.issmb);
     146                        writejsdouble(fid,[modelname '.trans.ismasstransport'],self.ismasstransport);
     147                        writejsdouble(fid,[modelname '.trans.isstressbalance'],self.isstressbalance);
     148                        writejsdouble(fid,[modelname '.trans.isthermal'],self.isthermal);
     149                        writejsdouble(fid,[modelname '.trans.isgroundingline'],self.isgroundingline);
     150                        writejsdouble(fid,[modelname '.trans.isgia'],self.isgia);
     151                        writejsdouble(fid,[modelname '.trans.isdamageevolution'],self.isdamageevolution);
     152                        writejsdouble(fid,[modelname '.trans.islevelset'],self.islevelset);
     153                        writejsdouble(fid,[modelname '.trans.iscalving'],self.iscalving);
     154                        writejsdouble(fid,[modelname '.trans.ishydrology'],self.ishydrology);
     155                        writejscellstring(fid,[modelname '.trans.requested_outputs'],self.requested_outputs);
     156
     157                end % }}}
    143158        end
    144159end
  • issm/trunk-jpl/src/m/classes/verbose.m

    r19559 r19879  
    150150                        WriteData(fid,'data',VerboseToBinary(self),'enum',VerboseEnum(),'format','Integer');
    151151                end % }}}
     152                function savemodeljs(self,fid,modelname) % {{{
     153               
     154                        writejsdouble(fid,[modelname '.verbose.mprocessor'],self.mprocessor);
     155                        writejsdouble(fid,[modelname '.verbose.module'],self.module);
     156                        writejsdouble(fid,[modelname '.verbose.solution'],self.solution);
     157                        writejsdouble(fid,[modelname '.verbose.solver'],self.solver);
     158                        writejsdouble(fid,[modelname '.verbose.convergence'],self.convergence);
     159                        writejsdouble(fid,[modelname '.verbose.control'],self.control);
     160                        writejsdouble(fid,[modelname '.verbose.qmu'],self.qmu);
     161                        writejsdouble(fid,[modelname '.verbose.autodiff'],self.autodiff);
     162                        writejsdouble(fid,[modelname '.verbose.smb'],self.smb);
     163
     164                end % }}}
    152165        end
    153166end
Note: See TracChangeset for help on using the changeset viewer.