Changeset 22483


Ignore:
Timestamp:
02/27/18 23:29:18 (7 years ago)
Author:
dlcheng
Message:

CHG (JS): Updating missing js fields.

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

Legend:

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

    r22107 r22483  
    3838                this.degacc=.01;
    3939               
     40                //steric:
     41                this.steric_rate=0;
     42               
     43               
    4044                //output default:
    4145                this.requested_outputs=['default'];
     
    6367                        md = checkfield(md,'fieldname','slr.reltol','size',[1, 1]);
    6468                        md = checkfield(md,'fieldname','slr.abstol','size',[1, 1]);
     69                        md = checkfield(md,'fieldname','slr.steric_rate','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices, 1]);
    6570                        md = checkfield(md,'fieldname','slr.maxiter','size',[1, 1],'>=',1);
    6671                        md = checkfield(md,'fieldname','slr.degacc','size',[1, 1],'>=',1e-10);
     
    8186                this.disp= function(){// {{{
    8287                       
    83                 console.log(sprintf('   Sealevelrise solution parameters:'));
     88                        console.log(sprintf('   Sealevelrise solution parameters:'));
    8489
    85                 fielddisplay(this,'deltathickness','thickness change (main loading of the slr solution core [m]');
    86                 fielddisplay(this,'sealevel','current sea level (prior to computation) [m]');
    87                 fielddisplay(this,'reltol','sea level rise relative convergence criterion, (NaN: not applied)');
    88                 fielddisplay(this,'abstol','sea level rise absolute convergence criterion, (default, NaN: not applied');
    89                 fielddisplay(this,'maxiter','maximum number of nonlinear iterations');
    90                 fielddisplay(this,'love_h','load Love number for radial displacement');
    91                 fielddisplay(this,'love_k','load Love number for gravitational potential perturbation');
    92                 fielddisplay(this,'love_l','load Love number for horizontal displacements');
    93                 fielddisplay(this,'tide_love_h','tidal love number (degree 2)');
    94                 fielddisplay(this,'tide_love_k','tidal love number (degree 2)');
    95                 fielddisplay(this,'fluid_love','secular fluid Love number');
    96                 fielddisplay(this,'equatorial_moi','mean equatorial moment of inertia [kg m^2]');
    97                 fielddisplay(this,'polar_moi','polar moment of inertia [kg m^2]');
    98                 fielddisplay(this,'angular_velocity','mean rotational velocity of earth [per second]');
    99                 fielddisplay(this,'rigid','rigid earth graviational potential perturbation');
    100                 fielddisplay(this,'elastic','elastic earth graviational potential perturbation');
    101                 fielddisplay(this,'rotation','rotational earth potential perturbation');
    102                 fielddisplay(this,'ocean_area_scaling','correction for model representation of ocean area [default: No correction]');
    103                 fielddisplay(this,'degacc',"accuracy (default .01 deg) for numerical discretization of the Green's functions");
    104                 fielddisplay(this,'transitions','indices into parts of the mesh that will be icecaps');
    105                 fielddisplay(this,'requested_outputs','additional outputs requested');
     90                        fielddisplay(this,'deltathickness','thickness change (main loading of the slr solution core [m]');
     91                        fielddisplay(this,'sealevel','current sea level (prior to computation) [m]');
     92                        fielddisplay(this,'reltol','sea level rise relative convergence criterion, (NaN: not applied)');
     93                        fielddisplay(this,'abstol','sea level rise absolute convergence criterion, (default, NaN: not applied');
     94                        fielddisplay(this,'maxiter','maximum number of nonlinear iterations');
     95                        fielddisplay(this,'love_h','load Love number for radial displacement');
     96                        fielddisplay(this,'love_k','load Love number for gravitational potential perturbation');
     97                        fielddisplay(this,'love_l','load Love number for horizontal displacements');
     98                        fielddisplay(this,'tide_love_h','tidal love number (degree 2)');
     99                        fielddisplay(this,'tide_love_k','tidal love number (degree 2)');
     100                        fielddisplay(this,'fluid_love','secular fluid Love number');
     101                        fielddisplay(this,'equatorial_moi','mean equatorial moment of inertia [kg m^2]');
     102                        fielddisplay(this,'polar_moi','polar moment of inertia [kg m^2]');
     103                        fielddisplay(this,'angular_velocity','mean rotational velocity of earth [per second]');
     104                        fielddisplay(this,'rigid','rigid earth graviational potential perturbation');
     105                        fielddisplay(this,'elastic','elastic earth graviational potential perturbation');
     106                        fielddisplay(this,'rotation','rotational earth potential perturbation');
     107                        fielddisplay(this,'ocean_area_scaling','correction for model representation of ocean area [default: No correction]');
     108                        fielddisplay(this,'steric_rate','rate of steric ocean expansion (in mm/yr)');
     109                        fielddisplay(this,'degacc',"accuracy (default .01 deg) for numerical discretization of the Green's functions");
     110                        fielddisplay(this,'transitions','indices into parts of the mesh that will be icecaps');
     111                        fielddisplay(this,'requested_outputs','additional outputs requested');
    106112                } //}}}
    107113                this.marshall=function(md,prefix,fid) { //{{{
     
    125131                        WriteData(fid,prefix,'object',this,'fieldname','rotation','format','Boolean');
    126132                        WriteData(fid,prefix,'object',this,'fieldname','ocean_area_scaling','format','Boolean');
     133                        WriteData(fid,prefix,'object',this,'fieldname','steric_rate','format','DoubleMat','mattype',1,'scale',1e-3/md.constants.yts);
    127134                        WriteData(fid,prefix,'object',this,'fieldname','degacc','format','Double');
    128135                        WriteData(fid,prefix,'object',this,'fieldname','transitions','format','MatArray');
     
    158165                        this.rotation=NullFix(this.rotation,NaN);
    159166                        this.ocean_area_scaling=NullFix(this.ocean_area_scaling,NaN);
     167                        this.steric_rate=NullFix(this.steric_rate,NaN);
    160168                        this.degacc=NullFix(this.degacc,NaN);
    161169                }//}}}
     
    180188        this.rotation       = 0;
    181189        this.ocean_area_scaling = 0;
     190        this.steric_rate    = 0; //rate of ocean expansion from steric effects.
    182191        this.degacc         = 0;
    183192        this.requested_outputs = [];
  • issm/trunk-jpl/src/m/classes/thermal.js

    r22098 r22483  
    2828                //will basal boundary conditions be set dynamically
    2929                this.isdynamicbasalspc=0;
     30               
     31                //Linear elements by default
     32                this.fe='P1';
    3033
    3134                //default output
     
    4649                fielddisplay(this,'isenthalpy','use an enthalpy formulation to include temperate ice (default is 0)');
    4750                fielddisplay(this,'isdynamicbasalspc','enable dynamic setting of basal forcing. required for enthalpy formulation (default is 0)');
     51                fielddisplay(this,'fe','Finite Element type: "P1" (default), "P1xP2"');
    4852                fielddisplay(this,'requested_outputs','additional outputs requested');
    4953
     
    8892                checkfield(md,'fieldname','thermal.stabilization','numel',[1],'values',[0 ,1, 2]);
    8993                checkfield(md,'fieldname','thermal.spctemperature','Inf',1,'timeseries',1);
     94                checkfield(md,'fieldname','thermal.fe','values',{'P1','P1xP2','P1xP3'});
    9095                if(ArrayAnyEqual(ArrayIsMember('EnthalpyAnalysis',analyses),1) & md.thermal.isenthalpy & md.mesh.dimension() == 3){
    9196                       
     
    122127                        WriteData(fid,prefix,'object',this,'fieldname','penalty_factor','format','Double');
    123128                        WriteData(fid,prefix,'object',this,'fieldname','isenthalpy','format','Boolean');
     129                        WriteData(fid,prefix,'object',this,'fieldname','fe','format','String');
    124130                        WriteData(fid,prefix,'object',this,'fieldname','isdynamicbasalspc','format','Boolean');
    125131
     
    149155        this.penalty_threshold = 0;
    150156        this.stabilization     = 0;
    151         this.reltol                             = 0;
     157        this.reltol                        = 0;
    152158        this.maxiter           = 0;
    153159        this.penalty_lock      = 0;
     
    155161        this.isenthalpy        = 0;
    156162        this.isdynamicbasalspc = 0;
     163        this.fe                = 'P1';
    157164        this.requested_outputs = [];
    158165
  • issm/trunk-jpl/src/m/classes/trans.js

    r21945 r22483  
    2020                this.ishydrology       = 0;
    2121                this.isslr             = 0;
     22                this.isoceancoupling   = 0;
    2223                this.iscoupler         = 0;
    2324                this.amr_frequency     = 0;
     
    4243                fielddisplay(this,'ishydrology','indicates whether an hydrology model is used');
    4344                fielddisplay(this,'isslr','indicates whether a sea-level rise model is used');
     45                fielddisplay(this,'isoceancoupling','indicates whether a coupling with an ocean model is used in the transient');
    4446                fielddisplay(this,'iscoupler','indicates whether different models are being run with need for coupling');
    4547                fielddisplay(this,'amr_frequency','frequency at which mesh is refined in simulations with multiple time_steps');
     
    5658                        if (solution!='TransientSolution') return;
    5759
    58                         checkfield(md,'fieldname','trans.issmb','numel',[1],'values',[0 ,1]);
    59                         checkfield(md,'fieldname','trans.ismasstransport','numel',[1],'values',[0 ,1]);
    60                         checkfield(md,'fieldname','trans.isstressbalance','numel',[1],'values',[0 ,1]);
    61                         checkfield(md,'fieldname','trans.isthermal','numel',[1],'values',[0 ,1]);
     60                        checkfield(md,'fieldname','trans.issmb','numel',[1],'values',[0, 1]);
     61                        checkfield(md,'fieldname','trans.ismasstransport','numel',[1],'values',[0, 1]);
     62                        checkfield(md,'fieldname','trans.isstressbalance','numel',[1],'values',[0, 1]);
     63                        checkfield(md,'fieldname','trans.isthermal','numel',[1],'values',[0, 1]);
    6264                        checkfield(md,'fieldname','trans.isgroundingline','numel',[1],'values',[0, 1]);
    6365                        checkfield(md,'fieldname','trans.isgia','numel',[1],'values',[0, 1]);
     
    6567                        checkfield(md,'fieldname','trans.isdamageevolution','numel',[1],'values',[0, 1]);
    6668                        checkfield(md,'fieldname','trans.ismovingfront','numel',[1],'values',[0, 1]);
    67                         checkfield(md,'fieldname','trans.ishydrology','numel',[1],'values',[0 ,1]);
    68                         checkfield(md,'fieldname','trans.iscoupler','numel',[1],'values',[0 ,1]);
    69                         checkfield(md,'fieldname','trans.isslr','numel',[1],'values',[0 ,1]);
     69                        checkfield(md,'fieldname','trans.ishydrology','numel',[1],'values',[0, 1]);
     70                        checkfield(md,'fieldname','trans.isslr','numel',[1],'values',[0, 1]);
     71                        checkfield(md,'fieldname','trans.isoceancoupling','numel',[1],'values',[0, 1]);
     72                        checkfield(md,'fieldname','trans.iscoupler','numel',[1],'values',[0, 1]);
    7073                        checkfield(md,'fieldname','trans.amr_frequency','numel',[1],'>=',0,'NaN',1,'Inf',1);
    7174                        checkfield(md,'fieldname','trans.requested_outputs','stringrow',1);
     
    8588                        WriteData(fid,prefix,'object',this,'fieldname','ismovingfront','format','Boolean');
    8689                        WriteData(fid,prefix,'object',this,'fieldname','isslr','format','Boolean');
     90                        WriteData(fid,prefix,'object',this,'fieldname','isoceancoupling','format','Boolean');
    8791                        WriteData(fid,prefix,'object',this,'fieldname','iscoupler','format','Boolean');
    8892                        WriteData(fid,prefix,'object',this,'fieldname','amr_frequency','format','Integer');
     
    119123        this.ishydrology       = 0;
    120124        this.isslr             = 0;
     125        this.isoceancoupling   = 0;
    121126        this.iscoupler         = 0;
    122         this.amr_frequency        = 0;
     127        this.amr_frequency         = 0;
    123128        this.requested_outputs = [];
    124129
Note: See TracChangeset for help on using the changeset viewer.