Changeset 26317


Ignore:
Timestamp:
06/11/21 04:44:59 (4 years ago)
Author:
kakajanto
Message:

BUG: Name change issues, SealevelRISE to SealevelCHANGE, and other python fixes

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

Legend:

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

    r26301 r26317  
    4949
    5050        if md.solidearth.settings.compute_bp_grd:
    51             md = checkfield(md, 'fieldname', dsl.sea_water_pressure_at_sea_floor, 'empty', 1)
     51            md = checkfield(md, 'fieldname', 'dsl.sea_water_pressure_at_sea_floor', 'empty', 1)
    5252
    5353        return md
  • issm/trunk-jpl/src/m/classes/dslmme.py

    r26178 r26317  
    4141    def checkconsistency(self, md, solution, analyses):  # {{{
    4242        # Early return
    43         if ('SealevelriseAnalysis' not in analyses) or (solution == 'TransientSolution' and not md.transient.isslc):
     43        if ('SealevelchangeAnalysis' not in analyses) or (solution == 'TransientSolution' and not md.transient.isslc):
    4444            return md
    4545
  • issm/trunk-jpl/src/m/classes/lovenumbers.py

    r26301 r26317  
     1import numpy as np
    12from checkfield import checkfield
    23from fielddisplay import fielddisplay
     
    5556    def setdefaultparameters(self, maxdeg, referenceframe):  #{{{
    5657        # Initialize love numbers
    57         self.h = getlovenumbers('type', 'loadingverticaldisplacement', 'referenceframe', referenceframe, 'maxdeg', maxdeg)
    58         self.k = getlovenumbers('type', 'loadinggravitationalpotential', 'referenceframe', referenceframe, 'maxdeg', maxdeg)
    59         self.l = getlovenumbers('type', 'loadinghorizontaldisplacement', 'referenceframe', referenceframe, 'maxdeg', maxdeg)
    60         self.th = getlovenumbers('type', 'tidalverticaldisplacement', 'referenceframe', referenceframe, 'maxdeg', maxdeg)
    61         self.tk = getlovenumbers('type', 'tidalgravitationalpotential', 'referenceframe', referenceframe, 'maxdeg', maxdeg)
    62         self.tl = getlovenumbers('type', 'tidalhorizontaldisplacement', 'referenceframe', referenceframe, 'maxdeg', maxdeg)
     58        self.h = getlovenumbers('type', 'loadingverticaldisplacement', 'referenceframe', referenceframe, 'maxdeg', maxdeg).reshape(-1,1)
     59        self.k = getlovenumbers('type', 'loadinggravitationalpotential', 'referenceframe', referenceframe, 'maxdeg', maxdeg).reshape(-1,1)
     60        self.l = getlovenumbers('type', 'loadinghorizontaldisplacement', 'referenceframe', referenceframe, 'maxdeg', maxdeg).reshape(-1,1)
     61        self.th = getlovenumbers('type', 'tidalverticaldisplacement', 'referenceframe', referenceframe, 'maxdeg', maxdeg).reshape(-1,1)
     62        self.tk = getlovenumbers('type', 'tidalgravitationalpotential', 'referenceframe', referenceframe, 'maxdeg', maxdeg).reshape(-1,1)
     63        self.tl = getlovenumbers('type', 'tidalhorizontaldisplacement', 'referenceframe', referenceframe, 'maxdeg', maxdeg).reshape(-1,1)
    6364
    6465        # Secular fluid love number
     
    6768        # Time
    6869        self.istime = 1 # Temporal love numbers by default
    69         self.timefreq = 0 # Elastic case by default
     70        self.timefreq = np.zeros(1) # Elastic case by default
    7071        return self
    7172    #}}}
     
    8990
    9091        ntf = len(self.timefreq)
    91         if (self.h.shape[1] != ntf or self.k.shape[1] != ntf or self.l.shape[1] != ntf or self.th.shape[1] != ntf or self.tk.shape[1] != ntf or self.tl.shape[1] != ntf):
     92        if (np.shape(self.h)[1] != ntf or np.shape(self.k)[1] != ntf or np.shape(self.l)[1] != ntf or np.shape(self.th)[1] != ntf or np.shape(self.tk)[1] != ntf or np.shape(self.tl)[1] != ntf):
    9293            raise ValueError('lovenumbers error message: love numbers should have as many time/frequency steps as the time/frequency vector')
    9394
  • issm/trunk-jpl/src/m/classes/matdamageice.py

    r26065 r26317  
    115115        md = checkfield(md, 'fieldname', 'materials.effectiveconductivity_averaging', 'numel', [1], 'values', [0, 1, 2])
    116116
    117         if 'SealevelriseAnalysis' in analyses:
     117        if 'SealevelchangeAnalysis' in analyses:
    118118                md = checkfield(md, 'fieldname', 'materials.earth_density', '>', 0, 'numel', 1)
    119119
  • issm/trunk-jpl/src/m/classes/matenhancedice.py

    r26059 r26317  
    126126        md = checkfield(md, 'fieldname', 'materials.effectiveconductivity_averaging', 'numel', [1], 'values', [0, 1, 2])
    127127
    128         if 'SealevelriseAnalysis' in analyses:
     128        if 'SealevelchangeAnalysis' in analyses:
    129129            md = checkfield(md, 'fieldname', 'materials.earth_density', '>', 0, 'numel', 1)
    130130        return md
  • issm/trunk-jpl/src/m/classes/matestar.py

    r26059 r26317  
    120120        md = checkfield(md, 'fieldname', 'materials.effectiveconductivity_averaging', 'numel', [1], 'values', [0, 1, 2])
    121121
    122         if 'SealevelriseAnalysis' in analyses:
     122        if 'SealevelchangeAnalysis' in analyses:
    123123            md = checkfield(md, 'fieldname', 'materials.earth_density', '>', 0, 'numel', 1)
    124124
  • issm/trunk-jpl/src/m/classes/nodalvalue.py

    r26178 r26317  
    1212        nodalvalue=nodalvalue()
    1313        nodalvalue=nodalvalue(
    14             'name', 'SealevelriseSNodalValue',
     14            'name', 'SealevelchangeSNodalValue',
    1515            'definitionstring', 'Outputdefinition1',
    16             'model_string', 'SealevelriseS',
     16            'model_string', 'SealevelchangeS',
    1717            'node', 1
    1818        )
  • issm/trunk-jpl/src/m/classes/rotational.py

    r26178 r26317  
    4242
    4343    def checkconsistency(self, md, solution, analyses):  # {{{
    44         if ('SealevelriseAnalysis' not in analyses) or (solution == 'TransientSolution' and not md.transient.isslc):
     44        if ('SealevelchangeAnalysis' not in analyses) or (solution == 'TransientSolution' and not md.transient.isslc):
    4545            return md
    4646        md = checkfield(md, 'fieldname', 'solidearth.rotational.equatorialmoi', 'NaN', 1, 'Inf', 1)
  • issm/trunk-jpl/src/m/classes/slr.py

    r25688 r26317  
    77from planetradius import planetradius
    88from WriteData import WriteData
     9from project3d import project3d
    910
    1011
     
    120121    def checkconsistency(self, md, solution, analyses):  # {{{
    121122        # Early return
    122         if 'SealevelriseAnalysis' not in analyses or (solution == 'TransientSolution' and not md.transient.isslr):
     123        if 'SealevelchangeAnalysis' not in analyses or (solution == 'TransientSolution' and not md.transient.isslr):
    123124            return md
    124125
  • issm/trunk-jpl/src/m/classes/solidearth.py

    r26307 r26317  
    88from rotational import rotational
    99from solidearthsettings import solidearthsettings
     10from solidearthsolution import solidearthsolution
     11from offlinesolidearthsolution import offlinesolidearthsolution
    1012from surfaceload import surfaceload
    1113from WriteData import WriteData
     
    7981    #}}}
    8082    def checkconsistency(self, md, solution, analyses): #{{{
    81         if ('SealevelriseAnalysis' not in analyses) or (solution == 'TransientSolution' and not md.transient.isslc):
     83        if ('SealevelchangeAnalysis' not in analyses) or (solution == 'TransientSolution' and not md.transient.isslc):
    8284            return md
    8385
     
    8890        self.rotational.checkconsistency(md, solution, analyses)
    8991        if self.external:
    90             if not isinstance(self.external, 'solidearthsolution'):
     92            if (not isinstance(self.external,solidearthsolution)) and (not isinstance(self.external,offlinesolidearthsolution)):
    9193                raise Exception('solidearth consistency check: external field should be a solidearthsolution')
    92             end
    9394            self.external.checkconsistency(md, solution, analyses)
    9495        return md
  • issm/trunk-jpl/src/m/classes/solidearthsettings.py

    r26301 r26317  
    9898
    9999    def checkconsistency(self, md, solution, analyses): #{{{
    100         if ('SealevelriseAnalysis' not in analyses) or (solution == 'TransientSolution' and not md.transient.isslc):
     100        if ('SealevelchangeAnalysis' not in analyses) or (solution == 'TransientSolution' and not md.transient.isslc):
    101101            return md
    102102
  • issm/trunk-jpl/src/m/classes/solidearthsolution.m

    r26307 r26317  
    6666                                geoid_rate(end+1,:)=time(1:end-1);
    6767                        end
     68
     69                        WriteData(fid, prefix, 'name', 'md.solidearth.external.nature', 'data', 0, 'format', 'Integer');
    6870                        WriteData(fid,prefix,'object',self,'fieldname','displacementeast','data',displacementeast_rate,'format','DoubleMat','name', 'md.solidearth.external.displacementeast','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1,'yts',yts);
    6971                        WriteData(fid,prefix,'object',self,'fieldname','displacementup','data',displacementup_rate,'format','DoubleMat','name', 'md.solidearth.external.displacementup','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1,'yts',yts);
  • issm/trunk-jpl/src/m/classes/solidearthsolution.py

    r26301 r26317  
    5353
    5454        # Transform our time series into time series rates
    55         if np.shape(self.displacementeast, 1) == 1:
     55        if len(np.shape(self.displacementeast)) == 1:
    5656            print('External solidearthsolution warning: only one time step provided, assuming the values are rates per year')
    5757            displacementeast_rate = np.append(np.array(self.displacementeast).reshape(-1, 1), 0)
     
    6161        else:
    6262            time = self.displacementeast[-1, :]
    63             dt = np.diff(time, 1, 1)
     63            dt = np.diff(time, axis=0)
    6464            displacementeast_rate = np.diff(self.displacementeast[0:-2, :], 1, 1) / dt
    65             displacementeast_rate.append(time[0:-2])
     65            displacementeast_rate = np.append(displacementeast_rate,time[:-1].reshape(1,-1),axis=0)
    6666            displacementnorth_rate = np.diff(self.displacementnorth[0:-2, :], 1, 1) / dt
    67             displacementnorth_rate.append(time[0:-2])
     67            displacementnorth_rate = np.append(displacementnorth_rate,time[:-1].reshape(1,-1),axis=0)
    6868            displacementup_rate = np.diff(self.displacementup[0:-2, :], 1, 1) / dt
    69             displacementup_rate.append(time[0:-2])
     69            displacementup_rate = np.append(displacementup_rate,time[:-1].reshape(1,-1),axis=0)
    7070            geoid_rate = np.diff(self.geoid[0:-2, :], 1, 1) / dt
    71             geoid_rate.append(time[0:-2])
     71            geoid_rate = np.append(geoid_rate,time[:-1].reshape(1,-1),axis=0)
     72
     73        WriteData(fid, prefix, 'name', 'md.solidearth.external.nature', 'data', 0, 'format', 'Integer')
    7274        WriteData(fid, prefix, 'object', self, 'fieldname', 'displacementeast', 'data', displacementeast_rate, 'format', 'DoubleMat', 'name', 'md.solidearth.external.displacementeast', 'mattype', 1, 'scale', 1 / yts,'timeserieslength', md.mesh.numberofvertices + 1, 'yts', yts);
    7375        WriteData(fid, prefix, 'object', self, 'fieldname', 'displacementup', 'data', displacementup_rate,'format', 'DoubleMat', 'name', 'md.solidearth.external.displacementup', 'mattype', 1, 'scale', 1 / yts,'timeserieslength', md.mesh.numberofvertices + 1, 'yts', yts);
  • issm/trunk-jpl/src/m/classes/surfaceload.py

    r26178 r26317  
    3939
    4040    def checkconsistency(self, md, solution, analyses):  # {{{
    41         if ('SealevelriseAnalysis' not in analyses) or (solution == 'TransientSolution' and not md.transient.isslc):
     41        if ('SealevelchangeAnalysis' not in analyses) or (solution == 'TransientSolution' and not md.transient.isslc):
    4242            return md
    4343        if type(self.icethicknesschange) == np.ndarray:
Note: See TracChangeset for help on using the changeset viewer.