def run_perfect_model_obs(): os.chdir(cluster.dartrundir) try_remove(cluster.dartrundir+'/obs_seq.out') if not os.path.exists(cluster.dartrundir+'/obs_seq.in'): raise RuntimeError('obs_seq.in does not exist in '+cluster.dartrundir) os.system('mpirun -np 12 ./perfect_model_obs > log.perfect_model_obs') if not os.path.exists(cluster.dartrundir+'/obs_seq.out'): raise RuntimeError('obs_seq.out does not exist in '+cluster.dartrundir, '\n look for '+cluster.dartrundir+'log.perfect_model_obs')
def db_select(sql=None, filename=None, table=None, **args): """Perform SQL select statement Note: one of <em>sql</em>, <em>filename</em>, or <em>table</em> arguments must be provided. Examples: >>> run_command('g.copy', vect='firestations,myfirestations') 0 >>> db_select(sql = 'SELECT cat,CITY FROM myfirestations WHERE cat < 4') (('1', 'Morrisville'), ('2', 'Morrisville'), ('3', 'Apex')) Simplyfied usage (it performs <tt>SELECT * FROM myfirestations</tt>.) >>> db_select(table = 'myfirestations') # doctest: +ELLIPSIS (('1', '24', 'Morrisville #3', ... 'HS2A', '1.37')) >>> run_command('g.remove', flags='f', type='vect', pattern='myfirestations') 0 :param str sql: SQL statement to perform (or None) :param str filename: name of file with SQL statements (or None) :param str table: name of table to query (or None) :param str args: see \gmod{db.select} arguments """ fname = tempfile(create=False) if sql: args['sql'] = sql elif filename: args['input'] = filename elif table: args['table'] = table else: fatal( _("Programmer error: '%(sql)s', '%(filename)s', or '%(table)s' must be provided" ) % { 'sql': 'sql', 'filename': 'filename', 'table': 'table' }) if 'sep' not in args: args['sep'] = '|' ret = run_command('db.select', quiet=True, flags='c', output=fname, **args) if ret != 0: fatal(_("Fetching data failed")) ofile = open(fname) result = map(lambda x: tuple(x.rstrip(os.linesep).split(args['sep'])), ofile.readlines()) ofile.close() try_remove(fname) return tuple(result)
def db_select(sql=None, filename=None, table=None, **args): """Perform SQL select statement Note: one of <em>sql</em>, <em>filename</em>, or <em>table</em> arguments must be provided. Examples: >>> run_command('g.copy', vect='firestations,myfirestations') 0 >>> db_select(sql = 'SELECT cat,CITY FROM myfirestations WHERE cat < 4') (('1', 'Morrisville'), ('2', 'Morrisville'), ('3', 'Apex')) Simplyfied usage (it performs <tt>SELECT * FROM myfirestations</tt>.) >>> db_select(table = 'myfirestations') # doctest: +ELLIPSIS (('1', '24', 'Morrisville #3', ... 'HS2A', '1.37')) >>> run_command('g.remove', flags='f', type='vect', pattern='myfirestations') 0 :param str sql: SQL statement to perform (or None) :param str filename: name of file with SQL statements (or None) :param str table: name of table to query (or None) :param str args: see \gmod{db.select} arguments """ fname = tempfile(create=False) if sql: args['sql'] = sql elif filename: args['input'] = filename elif table: args['table'] = table else: fatal(_("Programmer error: '%(sql)s', '%(filename)s', or '%(table)s' must be provided") % {'sql': 'sql', 'filename': 'filename', 'table': 'table'} ) if 'sep' not in args: args['sep'] = '|' ret = run_command('db.select', quiet=True, flags='c', output=fname, **args) if ret != 0: fatal(_("Fetching data failed")) ofile = open(fname) result = map(lambda x: tuple(x.rstrip(os.linesep).split(args['sep'])), ofile.readlines()) ofile.close() try_remove(fname) return tuple(result)
def assimilate(nproc=96): print('running filter') os.chdir(cluster.dartrundir) try_remove(cluster.dartrundir+'/obs_seq.final') os.system('mpirun -genv I_MPI_PIN_PROCESSOR_LIST=0-'+str(int(nproc)-1)+' -np '+str(int(nproc))+' ./filter > log.filter')
def _close(self): numpy.memmap._close(self) if isinstance(self, array): try_remove(self.filename)