Changeset 20349


Ignore:
Timestamp:
03/24/16 14:48:18 (9 years ago)
Author:
Eric.Larour
Message:

CHG: introducing rotation fields in the slr class, for the perturbation of rotational potential part of the sea level rise solver.
Also removed eustatic as a choice, it is now default for the computation of sea level rise.

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

Legend:

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

    r20261 r20349  
    1818                this.rigid=1;
    1919                this.elastic=1;
    20                 this.eustatic=1;
     20                this.rotation=1;
     21               
     22                //tidal love numbers:
     23                self.tide_love_h=0.6149; //degree 2
     24                self.tide_love_k=0.3055; //degree 2
    2125
    2226                //numerical discretization accuracy
     
    3943                        md = checkfield(md,'fieldname','slr.love_h','NaN',1,'Inf',1);
    4044                        md = checkfield(md,'fieldname','slr.love_k','NaN',1,'Inf',1);
     45                        md = checkfield(md,'fieldname','slr.tide_love_h','NaN',1,'Inf',1);
     46                        md = checkfield(md,'fieldname','slr.tide_love_k','NaN',1,'Inf',1);
    4147                        md = checkfield(md,'fieldname','slr.reltol','size',[1, 1]);
    4248                        md = checkfield(md,'fieldname','slr.abstol','size',[1, 1]);
     
    6874                fielddisplay(this,'love_h','love load number for radial displacement');
    6975                fielddisplay(this,'love_k','love load number for gravitational potential perturbation');
     76                fielddisplay(this,'tide_love_h','tidal love number (degree 2)');
     77                fielddisplay(this,'tide_love_k','tidal love number (degree 2)');
    7078                fielddisplay(this,'rigid','rigid earth graviational potential perturbation');
    7179                fielddisplay(this,'elastic','elastic earth graviational potential perturbation');
    72                 fielddisplay(this,'eustatic','eustatic sea level rise');
     80                fielddisplay(this,'rotation','rotational earth potential perturbation');
    7381                fielddisplay(this,'degacc',"accuracy (default .01 deg) for numerical discretization of the Green's functions");
    7482                fielddisplay(this,'transitions','indices into parts of the mesh that will be icecaps');
     
    8492                        WriteData(fid,'object',this,'class','sealevelrise','fieldname','love_h','format','DoubleMat','mattype',1);
    8593                        WriteData(fid,'object',this,'class','sealevelrise','fieldname','love_k','format','DoubleMat','mattype',1);
     94                        WriteData(fid,'object',this,'class','sealevelrise','fieldname','tide_love_h','format','Double');
     95                        WriteData(fid,'object',this,'class','sealevelrise','fieldname','tide_love_k','format','Double');
    8696                        WriteData(fid,'object',this,'class','sealevelrise','fieldname','rigid','format','Boolean');
    8797                        WriteData(fid,'object',this,'class','sealevelrise','fieldname','elastic','format','Boolean');
    88                         WriteData(fid,'object',this,'class','sealevelrise','fieldname','eustatic','format','Boolean');
     98                        WriteData(fid,'object',this,'class','sealevelrise','fieldname','rotation','format','Boolean');
    8999                        WriteData(fid,'object',this,'class','sealevelrise','fieldname','degacc','format','Double');
    90100                        WriteData(fid,'object',this,'class','sealevelrise','fieldname','transitions','format','MatArray');
     
    109119                        this.love_h=NullFix(this.love_h,NaN);
    110120                        this.love_k=NullFix(this.love_k,NaN);
     121                        this.tide_love_h=NullFix(this.tide_love_h,NaN);
     122                        this.tide_love_k=NullFix(this.tide_love_k,NaN);
    111123                        this.rigid=NullFix(this.rigid,NaN);
    112124                        this.elastic=NullFix(this.elastic,NaN);
    113                         this.eustatic=NullFix(this.eustatic,NaN);
     125                        this.rotation=NullFix(this.rotation,NaN);
    114126                        this.degacc=NullFix(this.degacc,NaN);
    115127                }//}}}
     
    122134        this.abstol         = 0;
    123135        this.love_h         = 0; //provided by PREM model
    124         this.love_k         = 0; //ideam
     136        this.love_k         = 0; //idam
     137        this.tide_love_h    = 0;
     138        this.tide_love_k    = 0;
    125139        this.rigid          = 0;
    126140        this.elastic        = 0;
    127         this.eustatic       = 0;
     141        this.rotation       = 0;
    128142        this.degacc         = 0;
    129143        this.requested_outputs = [];
  • TabularUnified issm/trunk-jpl/src/m/classes/slr.m

    r20322 r20349  
    1313                love_h         = 0; %provided by PREM model
    1414                love_k         = 0; %ideam
    15                 rigid         = 0;
    16                 elastic         = 0;
    17                 eustatic         = 0;
     15                tide_love_k    = 0; %ideam
     16                tide_love_h    = 0; %ideam
     17                rigid          = 0;
     18                elastic        = 0;
     19                rotation       = 0;
    1820                degacc         = 0;
    1921                requested_outputs      = {};
     
    4143                self.rigid=1;
    4244                self.elastic=1;
    43                 self.eustatic=1;
     45                self.rotation=1;
     46
     47                %tidal love numbers:
     48                self.tide_love_h=0.6149; %degree 2
     49                self.tide_love_k=0.3055; % degree 2
    4450
    4551                %numerical discretization accuracy
     
    6066                        md = checkfield(md,'fieldname','slr.sealevel','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
    6167                        md = checkfield(md,'fieldname','slr.love_h','NaN',1,'Inf',1);
     68                        md = checkfield(md,'fieldname','slr.love_k','NaN',1,'Inf',1);
     69                        md = checkfield(md,'fieldname','slr.tide_love_h','NaN',1,'Inf',1);
     70                        md = checkfield(md,'fieldname','slr.tide_love_k','NaN',1,'Inf',1);
    6271                        md = checkfield(md,'fieldname','slr.love_k','NaN',1,'Inf',1);
    6372                        md = checkfield(md,'fieldname','slr.reltol','size',[1 1]);
     
    94103                        fielddisplay(self,'love_h','love load number for radial displacement');
    95104                        fielddisplay(self,'love_k','love load number for gravitational potential perturbation');
     105                        fielddisplay(self,'tide_love_k','tidal love number (deg 2)');
     106                        fielddisplay(self,'tide_love_h','tidal love number (deg 2)');
     107                        fielddisplay(self,'rotation','earth rotational potential perturbation');
    96108                        fielddisplay(self,'rigid','rigid earth graviational potential perturbation');
    97109                        fielddisplay(self,'elastic','elastic earth graviational potential perturbation');
    98                         fielddisplay(self,'eustatic','eustatic sea level rise');
    99110                        fielddisplay(self,'degacc','accuracy (default .01 deg) for numerical discretization of the Green''s functions');
    100111                        fielddisplay(self,'transitions','indices into parts of the mesh that will be icecaps');
     
    111122                        WriteData(fid,'object',self,'class','sealevelrise','fieldname','love_h','format','DoubleMat','mattype',1);
    112123                        WriteData(fid,'object',self,'class','sealevelrise','fieldname','love_k','format','DoubleMat','mattype',1);
     124                        WriteData(fid,'object',self,'class','sealevelrise','fieldname','tide_love_k','format','Double');
     125                        WriteData(fid,'object',self,'class','sealevelrise','fieldname','tide_love_h','format','Double');
    113126                        WriteData(fid,'object',self,'class','sealevelrise','fieldname','rigid','format','Boolean');
    114127                        WriteData(fid,'object',self,'class','sealevelrise','fieldname','elastic','format','Boolean');
    115                         WriteData(fid,'object',self,'class','sealevelrise','fieldname','eustatic','format','Boolean');
     128                        WriteData(fid,'object',self,'class','sealevelrise','fieldname','rotation','format','Boolean');
    116129                        WriteData(fid,'object',self,'class','sealevelrise','fieldname','degacc','format','Double');
    117130                        WriteData(fid,'object',self,'class','sealevelrise','fieldname','transitions','format','MatArray');
     
    136149                        writejs1Darray(fid,[modelname '.slr.love_h'],self.love_h);
    137150                        writejs1Darray(fid,[modelname '.slr.love_k'],self.love_k);
     151                        writejsdouble(fid,[modelname '.slr.tide_love_k'],self.tide_love_k);
     152                        writejsdouble(fid,[modelname '.slr.tide_love_h'],self.tide_love_h);
    138153                        writejsdouble(fid,[modelname '.slr.rigid'],self.rigid);
    139                         writejsdouble(fid,[modelname '.slr.eustatic'],self.eustatic);
     154                        writejsdouble(fid,[modelname '.slr.rotation'],self.rotation);
    140155                        writejsdouble(fid,[modelname '.slr.elastic'],self.elastic);
    141156                        writejsdouble(fid,[modelname '.slr.degacc'],self.degacc);
  • TabularUnified issm/trunk-jpl/src/m/classes/slr.py

    r20281 r20349  
    2323                self.love_h             = 0 #provided by PREM model()
    2424                self.love_k             = 0 #ideam
     25                self.tide_love_h        = 0
     26                self.tide_love_k        = 0
    2527                self.rigid                      = 0
    2628                self.elastic            = 0
    27                 self.eustatic           = 0
     29                self.rotation           = 0
    2830                self.degacc             = 0
    2931                self.requested_outputs  = []
     
    4143                        string="%s\n%s"%(string,fielddisplay(self,'love_h','love load number for radial displacement'))
    4244                        string="%s\n%s"%(string,fielddisplay(self,'love_k','love load number for gravitational potential perturbation'))
     45                        string="%s\n%s"%(string,fielddisplay(self,'tide_love_k','tidal love load number (degree 2)'))
     46                        string="%s\n%s"%(string,fielddisplay(self,'tide_love_h','tidal love load number (degree 2)'))
    4347                        string="%s\n%s"%(string,fielddisplay(self,'rigid','rigid earth graviational potential perturbation'))
    4448                        string="%s\n%s"%(string,fielddisplay(self,'elastic','elastic earth graviational potential perturbation'))
    45                         string="%s\n%s"%(string,fielddisplay(self,'eustatic','eustatic sea level rise'))
     49                        string="%s\n%s"%(string,fielddisplay(self,'rotation','earth rotational potential perturbation'))
    4650                        string="%s\n%s"%(string,fielddisplay(self,'degacc','accuracy (default .01 deg) for numerical discretization of the Green''s functions'))
    4751                        string="%s\n%s"%(string,fielddisplay(self,'transitions','indices into parts of the mesh that will be icecaps'))
     
    6266                self.rigid=1
    6367                self.elastic=1
    64                 self.eustatic=1
     68                self.rotation=1
     69
     70                #tidal love numbers:
     71                self.tide_love_h=0.6149; #degree 2
     72                self.tide_love_k=0.3055; #degree 2
    6573
    6674                #numerical discretization accuracy
     
    8795                md = checkfield(md,'fieldname','slr.love_h','NaN',1,'Inf',1)
    8896                md = checkfield(md,'fieldname','slr.love_k','NaN',1,'Inf',1)
     97                md = checkfield(md,'fieldname','slr.tide_love_h','NaN',1,'Inf',1)
     98                md = checkfield(md,'fieldname','slr.tide_love_k','NaN',1,'Inf',1)
    8999                md = checkfield(md,'fieldname','slr.reltol','size',[1,1])
    90100                md = checkfield(md,'fieldname','slr.abstol','size',[1,1])
     
    110120                WriteData(fid,'object',self,'class','sealevelrise','fieldname','love_h','format','DoubleMat','mattype',1)
    111121                WriteData(fid,'object',self,'class','sealevelrise','fieldname','love_k','format','DoubleMat','mattype',1)
     122                WriteData(fid,'object',self,'class','sealevelrise','fieldname','tide_love_h','format','Double');
     123                WriteData(fid,'object',self,'class','sealevelrise','fieldname','tide_love_k','format','Double');
    112124                WriteData(fid,'object',self,'class','sealevelrise','fieldname','rigid','format','Boolean')
    113125                WriteData(fid,'object',self,'class','sealevelrise','fieldname','elastic','format','Boolean')
    114                 WriteData(fid,'object',self,'class','sealevelrise','fieldname','eustatic','format','Boolean')
     126                WriteData(fid,'object',self,'class','sealevelrise','fieldname','rotation','format','Boolean')
    115127                WriteData(fid,'object',self,'class','sealevelrise','fieldname','degacc','format','Double')
    116128                WriteData(fid,'object',self,'class','sealevelrise','fieldname','transitions','format','MatArray')
Note: See TracChangeset for help on using the changeset viewer.