Index: ../trunk-jpl/src/m/classes/solidearth.py =================================================================== --- ../trunk-jpl/src/m/classes/solidearth.py (revision 25152) +++ ../trunk-jpl/src/m/classes/solidearth.py (revision 25153) @@ -2,7 +2,7 @@ from checkfield import checkfield from fielddisplay import fielddisplay -from loadinglove import loadinglove +from lovenumbers import lovenumbers from planetradius import planetradius from project3d import project3d from rotational import rotational @@ -19,15 +19,15 @@ solidearth = solidearth() ''' - def __init__(self, *args): #{{{ - self.sealevel = np.nan - self.settings = solidearthsettings() - self.surfaceload = surfaceload() - self.love = loadinglove() - self.rotational = rotational() - self.planetradius = planetradius('earth') - self.requested_outputs = ['default'] - self.transitions = [] + def __init__(self, *args): #{{{ + self.sealevel = np.nan + self.settings = solidearthsettings() + self.surfaceload = surfaceload() + self.lovenumbers = lovenumbers() + self.rotational = rotational() + self.planetradius = planetradius('earth') + self.requested_outputs = ['default'] + self.transitions = [] nargin = len(args) @@ -37,7 +37,7 @@ raise Exception('constructor not supported') #}}} - def __repr__(self): # {{{ + def __repr__(self): # {{{ s = ' solidearthinputs, forcings and settings:\n' s += '{}\n'.format(fielddisplay(self, 'sealevel', 'current sea level (prior to computation) [m]')) s += '{}\n'.format(fielddisplay(self, 'planetradius', 'planet radius [m]')) @@ -46,17 +46,17 @@ s += '{}\n'.format(fielddisplay(self, 'miscellaneous', 'miscellaneous fields')) s += '{}\n'.format(self.settings) s += '{}\n'.format(self.surfaceload) - s += '{}\n'.format(self.love) + s += '{}\n'.format(self.lovenumbers) s += '{}\n'.format(self.rotational) return s #}}} - def setdefaultparameters(self): # {{{ + def setdefaultparameters(self): # {{{ return self #}}} - def checkconsistency(self, md, solution, analyses): # {{{ - if not 'SealevelriseAnalysis' in analyses or solution == 'TransientSolution' and md.transient.isslr == 0: + def checkconsistency(self, md, solution, analyses): # {{{ + if 'SealevelriseAnalysis' not in analyses or (solution == 'TransientSolution' and md.transient.isslr == 0): return md md = checkfield(md, 'fieldname', 'solidearth.sealevel', 'NaN', 1, 'Inf', 1, 'size', [md.mesh.numberofvertices]) @@ -64,17 +64,17 @@ self.settings.checkconsistency(md, solution, analyses) self.surfaceload.checkconsistency(md, solution, analyses) - self.love.checkconsistency(md, solution, analyses) + self.lovenumbers.checkconsistency(md, solution, analyses) self.rotational.checkconsistency(md, solution, analyses) return md #}}} - def defaultoutputs(self, md): #{{{ + def defaultoutputs(self, md): #{{{ return ['Sealevel'] #}}} - def marshall(self, prefix, md, fid): #{{{ + def marshall(self, prefix, md, fid): #{{{ WriteData(fid, prefix, 'object', self, 'fieldname', 'sealevel', 'mattype', 1, 'format', 'DoubleMat', 'timeserieslength', md.mesh.numberofvertices + 1, 'yts', md.constants.yts) WriteData(fid, prefix, 'object', self, 'fieldname', 'planetradius', 'format', 'Double') WriteData(fid, prefix, 'object', self, 'fieldname', 'transitions', 'format', 'MatArray') @@ -81,7 +81,7 @@ self.settings.marshall(prefix, md, fid) self.surfaceload.marshall(prefix, md, fid) - self.love.marshall(prefix, md, fid) + self.lovenumbers.marshall(prefix, md, fid) self.rotational.marshall(prefix, md, fid) #process requested outputs @@ -88,15 +88,14 @@ outputs = self.requested_outputs pos = np.where(np.asarray(outputs) == 'default')[0] for i in pos: - outputs[i] = '' #remove 'default' from outputs - outputs.extend(self.defaultoutputs(md)) #add defaults + outputs[i] = '' #remove 'default' from outputs + outputs.extend(self.defaultoutputs(md)) #add defaults WriteData(fid, prefix, 'data', outputs, 'name', 'md.solidearth.requested_outputs', 'format', 'StringArray') #}}} - def extrude(self, md): #{{{ + def extrude(self, md): #{{{ self.sealevel = project3d(md, 'vector', self.sealevel, 'type', 'node') return self #}}} - Index: ../trunk-jpl/src/m/classes/clusters/generic.py =================================================================== --- ../trunk-jpl/src/m/classes/clusters/generic.py (revision 25152) +++ ../trunk-jpl/src/m/classes/clusters/generic.py (revision 25153) @@ -101,12 +101,12 @@ if not isvalgrind: if self.interactive: if IssmConfig('_HAVE_MPI_')[0]: - fid.write('mpiexec -np {} {}/{} {} {}/{} {}'.format(self.np, self.codepath, executable, solution, self.executionpath, dirname, modelname)) + fid.write('operf mpiexec -np {} {}/{} {} {}/{} {}'.format(self.np, self.codepath, executable, solution, self.executionpath, dirname, modelname)) else: fid.write('{}/{} {} {}/{} {} '.format(self.codepath, executable, solution, self.executionpath, dirname, modelname)) else: if IssmConfig('_HAVE_MPI_')[0]: - fid.write('mpiexec -np {} {}/{} {} {}/{} {} 2>{}.errlog>{}.outlog'. + fid.write('operf mpiexec -np {} {}/{} {} {}/{} {} 2>{}.errlog>{}.outlog'. format(self.np, self.codepath, executable, solution, self.executionpath, dirname, modelname, modelname, modelname)) else: fid.write('{}/{} {} {}/{} {} 2>{}.errlog>{}.outlog '.