source: issm/oecreview/Archive/24684-25833/ISSM-25152-25153.diff

Last change on this file was 25834, checked in by Mathieu Morlighem, 4 years ago

CHG: added 24684-25833

File size: 6.1 KB
  • ../trunk-jpl/src/m/classes/solidearth.py

     
    22
    33from checkfield import checkfield
    44from fielddisplay import fielddisplay
    5 from loadinglove import loadinglove
     5from lovenumbers import lovenumbers
    66from planetradius import planetradius
    77from project3d import project3d
    88from rotational import rotational
     
    1919            solidearth = solidearth()
    2020    '''
    2121
    22     def __init__(self, *args): #{{{
    23         self.sealevel           = np.nan
    24         self.settings           = solidearthsettings()
    25         self.surfaceload        = surfaceload()
    26         self.love               = loadinglove()
    27         self.rotational         = rotational()
    28         self.planetradius       = planetradius('earth')
    29         self.requested_outputs  = ['default']
    30         self.transitions        = []
     22    def __init__(self, *args):  #{{{
     23        self.sealevel = np.nan
     24        self.settings = solidearthsettings()
     25        self.surfaceload = surfaceload()
     26        self.lovenumbers = lovenumbers()
     27        self.rotational = rotational()
     28        self.planetradius = planetradius('earth')
     29        self.requested_outputs = ['default']
     30        self.transitions = []
    3131
    3232        nargin = len(args)
    3333
     
    3737            raise Exception('constructor not supported')
    3838    #}}}
    3939
    40     def __repr__(self): # {{{
     40    def __repr__(self):  # {{{
    4141        s = '   solidearthinputs, forcings and settings:\n'
    4242        s += '{}\n'.format(fielddisplay(self, 'sealevel', 'current sea level (prior to computation) [m]'))
    4343        s += '{}\n'.format(fielddisplay(self, 'planetradius', 'planet radius [m]'))
     
    4646        s += '{}\n'.format(fielddisplay(self, 'miscellaneous', 'miscellaneous fields'))
    4747        s += '{}\n'.format(self.settings)
    4848        s += '{}\n'.format(self.surfaceload)
    49         s += '{}\n'.format(self.love)
     49        s += '{}\n'.format(self.lovenumbers)
    5050        s += '{}\n'.format(self.rotational)
    5151        return s
    5252    #}}}
    5353
    54     def setdefaultparameters(self): # {{{
     54    def setdefaultparameters(self):  # {{{
    5555        return self
    5656    #}}}
    5757
    58     def checkconsistency(self, md, solution, analyses): # {{{
    59         if not 'SealevelriseAnalysis' in analyses or solution == 'TransientSolution' and md.transient.isslr == 0:
     58    def checkconsistency(self, md, solution, analyses):  # {{{
     59        if 'SealevelriseAnalysis' not in analyses or (solution == 'TransientSolution' and md.transient.isslr == 0):
    6060            return md
    6161
    6262        md = checkfield(md, 'fieldname', 'solidearth.sealevel', 'NaN', 1, 'Inf', 1, 'size', [md.mesh.numberofvertices])
     
    6464
    6565        self.settings.checkconsistency(md, solution, analyses)
    6666        self.surfaceload.checkconsistency(md, solution, analyses)
    67         self.love.checkconsistency(md, solution, analyses)
     67        self.lovenumbers.checkconsistency(md, solution, analyses)
    6868        self.rotational.checkconsistency(md, solution, analyses)
    6969
    7070        return md
    7171    #}}}
    7272
    73     def defaultoutputs(self, md): #{{{
     73    def defaultoutputs(self, md):  #{{{
    7474        return ['Sealevel']
    7575    #}}}
    7676
    77     def marshall(self, prefix, md, fid): #{{{
     77    def marshall(self, prefix, md, fid):  #{{{
    7878        WriteData(fid, prefix, 'object', self, 'fieldname', 'sealevel', 'mattype', 1, 'format', 'DoubleMat', 'timeserieslength', md.mesh.numberofvertices + 1, 'yts', md.constants.yts)
    7979        WriteData(fid, prefix, 'object', self, 'fieldname', 'planetradius', 'format', 'Double')
    8080        WriteData(fid, prefix, 'object', self, 'fieldname', 'transitions', 'format', 'MatArray')
     
    8181
    8282        self.settings.marshall(prefix, md, fid)
    8383        self.surfaceload.marshall(prefix, md, fid)
    84         self.love.marshall(prefix, md, fid)
     84        self.lovenumbers.marshall(prefix, md, fid)
    8585        self.rotational.marshall(prefix, md, fid)
    8686
    8787        #process requested outputs
     
    8888        outputs = self.requested_outputs
    8989        pos = np.where(np.asarray(outputs) == 'default')[0]
    9090        for i in pos:
    91             outputs[i] = '' #remove 'default' from outputs
    92             outputs.extend(self.defaultoutputs(md)) #add defaults
     91            outputs[i] = ''  #remove 'default' from outputs
     92            outputs.extend(self.defaultoutputs(md))  #add defaults
    9393
    9494        WriteData(fid, prefix, 'data', outputs, 'name', 'md.solidearth.requested_outputs', 'format', 'StringArray')
    9595    #}}}
    9696
    97     def extrude(self, md): #{{{
     97    def extrude(self, md):  #{{{
    9898        self.sealevel = project3d(md, 'vector', self.sealevel, 'type', 'node')
    9999
    100100        return self
    101101    #}}}
    102 
  • ../trunk-jpl/src/m/classes/clusters/generic.py

     
    101101            if not isvalgrind:
    102102                if self.interactive:
    103103                    if IssmConfig('_HAVE_MPI_')[0]:
    104                         fid.write('mpiexec -np {} {}/{} {} {}/{} {}'.format(self.np, self.codepath, executable, solution, self.executionpath, dirname, modelname))
     104                        fid.write('operf mpiexec -np {} {}/{} {} {}/{} {}'.format(self.np, self.codepath, executable, solution, self.executionpath, dirname, modelname))
    105105                    else:
    106106                        fid.write('{}/{} {} {}/{} {} '.format(self.codepath, executable, solution, self.executionpath, dirname, modelname))
    107107                else:
    108108                    if IssmConfig('_HAVE_MPI_')[0]:
    109                         fid.write('mpiexec -np {} {}/{} {} {}/{} {} 2>{}.errlog>{}.outlog'.
     109                        fid.write('operf mpiexec -np {} {}/{} {} {}/{} {} 2>{}.errlog>{}.outlog'.
    110110                                  format(self.np, self.codepath, executable, solution, self.executionpath, dirname, modelname, modelname, modelname))
    111111                    else:
    112112                        fid.write('{}/{} {} {}/{} {} 2>{}.errlog>{}.outlog '.
Note: See TracBrowser for help on using the repository browser.