Changeset 27505


Ignore:
Timestamp:
01/09/23 08:52:51 (2 years ago)
Author:
Mathieu Morlighem
Message:

CHG: added age to matlab classes

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

Legend:

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

    r27430 r27505  
    2626                sample              = NaN;
    2727                debris              = NaN;
     28                age                 = NaN;
    2829        end
    2930        methods
     
    127128                                if ~isnan(md.initialization.debris)
    128129                                        md = checkfield(md,'fieldname','initialization.debris','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
     130                                end
     131                        end
     132                        if ismember('AgeAnalysis',analyses),
     133                                if ~isnan(md.initialization.age)
     134                                        md = checkfield(md,'fieldname','initialization.age','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
    129135                                end
    130136                        end
     
    152158                        fielddisplay(self,'str','Steric sea level.');
    153159                        fielddisplay(self,'debris','Surface debris layer [m]');
     160                        fielddisplay(self,'age','Initial age [yr]');
    154161                end % }}}
    155162                function marshall(self,prefix,md,fid) % {{{
     
    174181                        WriteData(fid,prefix,'object',self,'fieldname','hydraulic_potential','format','DoubleMat','mattype',1);
    175182                        WriteData(fid,prefix,'object',self,'fieldname','sample','format','DoubleMat','mattype',1);
    176                         WriteData(fid,prefix,'object',self,'fieldname','debris','format','DoubleMat','mattype',1);
     183                        WriteData(fid,prefix,'object',self,'fieldname','debris','format','DoubleMat','mattype',1,'scale',yts);
    177184
    178185                        if md.thermal.isenthalpy,
     
    206213                        self.str=project3d(md,'vector',self.str,'type','node','layer',1);
    207214                        self.str=project3d(md,'vector',self.debris,'type','node','layer',1);
     215                        self.str=project3d(md,'vector',self.age,'type','node','layer',1);
    208216
    209217                        %Lithostatic pressure by default
     
    228236                        writejs1Darray(fid,[modelname '.initialization.sample'],self.sample);
    229237                        writejs1Darray(fid,[modelname '.initialization.debris'],self.debris);
     238                        writejs1Darray(fid,[modelname '.initialization.age'],self.age);
    230239
    231240                end % }}}
  • issm/trunk-jpl/src/m/classes/initialization.py

    r27458 r27505  
    1515
    1616    def __init__(self):  #{{{
    17         self.vx = np.nan
    18         self.vy = np.nan
    19         self.vz = np.nan
    20         self.vel = np.nan
    21         self.pressure = np.nan
    22         self.temperature = np.nan
    23         self.enthalpy = np.nan
    24         self.waterfraction = np.nan
    25         self.sediment_head = np.nan
    26         self.epl_head = np.nan
    27         self.epl_thickness = np.nan
    28         self.watercolumn = np.nan
     17        self.vx                  = np.nan
     18        self.vy                  = np.nan
     19        self.vz                  = np.nan
     20        self.vel                 = np.nan
     21        self.pressure            = np.nan
     22        self.temperature         = np.nan
     23        self.enthalpy            = np.nan
     24        self.waterfraction       = np.nan
     25        self.sediment_head       = np.nan
     26        self.epl_head            = np.nan
     27        self.epl_thickness       = np.nan
     28        self.watercolumn         = np.nan
    2929        self.hydraulic_potential = np.nan
    30         self.channelarea = np.nan
    31         self.sealevel = np.nan
    32         self.bottompressure = np.nan
    33         self.dsl = np.nan
    34         self.str = np.nan
    35         self.sample = np.nan
    36         self.debris = np.nan
     30        self.channelarea         = np.nan
     31        self.sealevel            = np.nan
     32        self.bottompressure      = np.nan
     33        self.dsl                 = np.nan
     34        self.str                 = np.nan
     35        self.sample              = np.nan
     36        self.debris              = np.nan
     37        self.age                 = np.nan
    3738
    3839        self.setdefaultparameters()
     
    5758        s += '{}\n'.format(fielddisplay(self, 'sample', 'Realization of a Gaussian random field'))
    5859        s += '{}\n'.format(fielddisplay(self, 'debris', 'Surface debris layer [m]'))
     60        s += '{}\n'.format(fielddisplay(self, 'age', 'initial ice age [yr]'))
    5961        return s
    6062    # }}}
     
    127129                if (solution == 'TransientSolution' and md.transient.ishydrology) or solution == 'HydrologySolution':
    128130                    md = checkfield(md, 'fieldname', 'initialization.debris', 'NaN', 1,'Inf', 1, 'size', [md.mesh.numberofvertices])
     131        if 'AgeAnalysis' in analyses:
     132            if not np.isnan(md.initialization.age):
     133                if (solution == 'TransientSolution' and md.transient.ishydrology) or solution == 'HydrologySolution':
     134                    md = checkfield(md, 'fieldname', 'initialization.age', 'NaN', 1,'Inf', 1, 'size', [md.mesh.numberofvertices])
    129135        return md
    130136    # }}}
     
    151157        WriteData(fid, prefix, 'object', self, 'fieldname', 'sample', 'format', 'DoubleMat', 'mattype', 1)
    152158        WriteData(fid, prefix, 'object', self, 'fieldname', 'debris', 'format', 'DoubleMat', 'mattype', 1)
     159        WriteData(fid, prefix, 'object', self, 'fieldname', 'age', 'format', 'DoubleMat', 'mattype', 1, 'scale', yts)
    153160
    154161        if md.thermal.isenthalpy:
     
    180187        self.str = project3d(md, 'vector', self.str, 'type', 'node', 'layer', 1)
    181188        self.debris = project3d(md, 'vector', self.debris, 'type', 'node', 'layer', 1)
     189        self.age = project3d(md, 'vector', self.age, 'type', 'node', 'layer', 1)
    182190
    183191        # Lithostatic pressure by default
Note: See TracChangeset for help on using the changeset viewer.